首页 - 趣闻中心 - 云集微店,千寻,顿号怎么打-头条斑鱼,渔业咨询,捕捞技巧

云集微店,千寻,顿号怎么打-头条斑鱼,渔业咨询,捕捞技巧

发布时间:2019-07-12  分类:趣闻中心  作者:admin  浏览:208

原文地址:梁桂钊的博客

博客地址:http://blog.720ui.com

今日,讨论一个风趣的论题:MySQL 单表数据抵达多少时才需求考虑分库分表?有人说 2000 万行,也有人说 500 万行。那么,你觉得这个数值多少才适宜呢?

曾经在我国互联网技能圈广为流传着这么一个说法:MySQL 单表数据量大于 2000 万行,功能会显着下降。事实上,这个风闻听说最早起源于百度。详细状况大概是这样的,当年的 DBA 测验 MySQL功能时发现,当单表的量在 2000 万行量级的时分,SQL 操作的功能急剧下降,因而,定论由此而来。然后又听说百度的工程师流动到业界的其它公司,也带去了这个信息,所以,就在业界流传开这么一个说法。

再后来,阿里巴巴《Java 开发手册》提出单表行数超越 500 万行或许单表容量超越 2GB,才引荐进行分库分表。对此,有阿里的黄金铁律支撑,所以,很多人规划大数据存储时,多会以此为规范,进行分表操作。

那么,你觉得这个数值多少才适宜呢?为什么不是 300 万行,或许是 800 万行,而是 500 万行?或许你会说这个或许便是阿里的最佳实战的数值吧?那么,问题又来了,这个数值是怎么评价出来的呢?稍等片刻,请你小小考虑一瞬间。

事实上,这个数值和实践记载的条数无关,而与 MySQL 的装备以及机器的硬件有关。由于,MySQL 为了进步功能,会将表的索引装载到内存中。InnoDB buffer size 满足的状况下,其能完满足加载进内存,查询不会有问题。可是,当单表数据库抵达某个量级的上限时,导致内存无法存储其索引,使得之后的 SQL 查询会发生磁盘 IO,然后导致功能下降。当然,这个还有详细的表结构的规划有关,终究导致的问题都是内存约束。这儿,添加硬件装备,或许会带来马到成功的功能进步哈。

那么,我关于分库分表的观念是,需求结合实践需求,不宜过度规划,在项目一开始不选用分库与分表规划,而是跟着事务的增加,在无法持续优化的状况下,再考虑分库与分表进步体系的功能。对此,阿里巴巴《Java 开发手册》补充到:假如估计三年后的数据量底子达不到这个等级,请不要在创立表时就分库分表。那么,回到一开始的问题,你觉得这个数值多少才适宜呢?我的主张是,依据本身的机器的状况归纳评价,假如心里没有规范,那么暂时以 500 万行作为一个一致的规范,相对而言算是一个比较折中的数值。

写在结尾

【服务端思想】:咱们一同聊聊服务端核心技能,讨论一线互联网的项目架构与实战经验。让全部单枪匹马的研制人员都找到归于自己的圈子,一同沟通、讨论。在这儿,咱们能够认知晋级,衔接尖端的技能大牛,衔接优异的思想办法,衔接解决问题的最短途径,衔接全部优异的办法,打破认知的限制。

作者:白岳

下一篇
快捷导航
最新发布
标签列表