面试题:mysql处理什么数量级的数据时,性能会急剧下降。

个人记录:2018年,工作的第6到7个年头。
重点研究自己不太擅长的技术:分布式、高并发、大数据量、数据库优化、高性能、负载均衡等。
刷题是一种态度,是一种好习惯。


对这个问题,目前没啥见解。
在未来的工作中,再不断加深对mysql的学习。


--------------------------------------
面试问题,mysql处理什么数量级的数据时,性能会急剧下降。。。。


当时脱口而出。。几百万。。。百万级。。。可想而知。。gameover了。。。
这个问题应该怎么回答。
问题出处:http://ifeve.com/question/%e9%9d%a2%e8%af%95%e9%97%ae%e9%a2%98%ef%bc%8cmysql%e5%a4%84%e7%90%86%e4%bb%80%e4%b9%88%e6%95%b0%e9%87%8f%e7%ba%a7%e7%9a%84%e6%95%b0%e6%8d%ae%e6%97%b6%ef%bc%8c%e6%80%a7%e8%83%bd%e4%bc%9a%e6%80%a5/


网友观点
一、跟mysql版本有关系,如果是5.7的话,是几千万。但是5.7之后基本上就不用考虑数据量的问题了。
但是这个问题问的不好,因为性能急剧下降不但但是跟数据量这一个因素有关系。
还有机器的配置,比如内存,如果内存放不下索引而把索引放在了虚拟内存上,那么效率就会急剧下降了。
还有就是sql建立合适的索引了。


二、看你的使用场景了,如果是单表就是500w就会性能下降,所以就需要我们进行分表,分表有多种方式,但是都是需要根据业务场景进行的。
有的按照时间,有的按照用户等等。
不管怎么样一定要又要同时的主键生成器,避免后面的合并数据时候的冲突问题。


三、发信人: liuwaiting (waiting), 信区: Database
标  题: 关于mysql单表数据量大于2000w条的传说
发信站: 北邮人论坛 (Wed Nov 28 19:05:58 2012), 站内


  原文链接:http://hi.baidu.com/liuwaiiting/item/bdc31ed539646a3e48e1dda3


  在中国互联网技术圈流传着这么一个说法:mysql单表数据量大于2000w条,性能会明显下降。所以这设计大数据存储时,多会以此为标准,进行分表操作。


  首先:这个传说是错的,但是这个结论在产生时有重要意义。


  传说起源:百度,当年DBA测试Mysql性能时发现,当单表的量在2000w量级的时候,sql操作的性能急剧下降。所以得到该结论。后百度的工程师流动到业界的其它公司,也带去了这个信息,所以就在业界流传开这么一个说法。


  真相:Mysql为了提高性能,会将表的索引装载到内存中,实现高效操作。当年百度的数据库服务器的内存有限,当单表数据库到达2000w的量级时,内存放不下表的索引了,而需要把部分索引装载到磁盘中,此时出现了性能的明显下降。


  正确的说法是:当一个表的索引无法放入到内存中会导致性能下降,而与实际记录的条数无关。


  但是鉴于当时机器的限制,2000w的传说是有时代意义的错误结论。

你可能感兴趣的:(Java技术专家)