`
dragonsoar
  • 浏览: 203999 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

mysql一个表存多少数据才是性能最高的

阅读更多
我的官方微博:www.weibo.com/vanwelldotcn

我的官方扣群:102934900
 

 

之前一直不知道InnoDB表中存多少行数据才是性能最高的

      所以问了一些人,也都没有定论;某国内最大的电子商务公司的DBA给了我一个大致的答案,感觉靠谱。所以就在这里和大家一起分享一下。


      1. 某国个大牛写了下面这么一段话:

      注:非官方给出的公式


      2. 按照上面的理论,那么我们计算一下bigint为主键表的最大理论行数
          公式1 : (16KB -200) / 8 = 2023 行
          公式2 : 当然,也可以这么算:(16KB)/8 - 200 = 1848行
          因为mysql最高的索引树为三层(表为第一层),那行最大的行数应该为 2023 * 2023= 4092529 行 或 1848 * 1848 = 3415104 行

因为笔者自己也没有本身测试过,都只是五百万行一分表,听圈里人都说500W是经验值所以笔者也就没有深入的去研究过了。等笔者有时间空了,好好的测试一下,呵呵~

 

  • 大小: 38.9 KB
分享到:
评论
2 楼 dragonsoar 2013-06-28  
就是mysql默认的文件块数和存储方式,和经验值给出的一个公式。
16K是mysql的一个数据块,那么加上你索引占用的空间,不就是16K块最多可以存多少索引数据吗?
第二行就简单了,16K块可以指向多少个16K块呢?那三层索引结构是最快的,一算是不是就算出上面的公式了呢?
1 楼 maoxianfly 2013-06-04  
能解释一下这个公式吗??实在是没看懂。。

相关推荐

Global site tag (gtag.js) - Google Analytics