#青训营笔记创作活动#
1月14日 day4
今日学习《我说mysql单表最好不超过2000万数据,面试官让我回去等通知》,阿里开发小册里说过,单表最好不超过500万数据,或者2gb。就需要进行分库分表设计。
这个500万数值和实际记录的条数无关,而与 MySQL 的配置以及机器的硬件有关。因为,MySQL 为了提高性能,会将表的索引装载到内存中。InnoDB buffer size 足够的情况下,其能完成全加载进内存,查询不会有问题。但是,当单表数据库到达某个量级的上限是,导致内存无法存储其索引,使得之后的 SQL 查询会产生磁盘 IO,从而导致性能下降。当然,这个还有具体的表结构的设计有关,最终导致的问题都是内存限制。这里,增加硬件配置,可能会带来立竿见影的性能提升
展开
评论