浏览 8671 次
锁定老帖子 主题:mysql一个表存多少数据才是性能最高的
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2012-11-28
之前一直不知道InnoDB表中存多少行数据才是性能最高的 所以问了一些人,也都没有定论;某国内最大的电子商务公司的DBA给了我一个大致的答案,感觉靠谱。所以就在这里和大家一起分享一下。
1. 某国个大牛写了下面这么一段话:
注:非官方给出的公式
2. 按照上面的理论,那么我们计算一下bigint为主键表的最大理论行数 公式1 : (16KB -200) / 8 = 2023 行 公式2 : 当然,也可以这么算:(16KB)/8 - 200 = 1848行 因为mysql最高的索引树为三层(表为第一层),那行最大的行数应该为 2023 * 2023= 4092529 行 或 1848 * 1848 = 3415104 行
因为笔者自己也没有本身测试过,都只是五百万行一分表,听圈里人都说500W是经验值所以笔者也就没有深入的去研究过了。等笔者有时间空了,好好的测试一下,呵呵~ 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2013-03-11
最多多少行数据没有定论, 有很多影响因素: 逻辑块大小, 硬盘性能, 怎么建Index, SQL有没有写好。。。
|
|
返回顶楼 | |
发表时间:2013-03-11
没有绝对,只能靠经验和实际测试来确定。而且现在基本上不建议分表,数据库差不多都有了分区功能,干嘛非要分表呢。
|
|
返回顶楼 | |
发表时间:2013-03-11
魔力猫咪 写道 没有绝对,只能靠经验和实际测试来确定。而且现在基本上不建议分表,数据库差不多都有了分区功能,干嘛非要分表呢。
这个怎么说呢?查一下mysql的分区实现原理,就可以知道程序上的分区分库比DB的分区要好多少。为什么性能要高了~ 还有,就是移值也是非常好的。个人意见,呵~ |
|
返回顶楼 | |
发表时间:2013-03-11
骠骑大将军 写道 最多多少行数据没有定论, 有很多影响因素: 逻辑块大小, 硬盘性能, 怎么建Index, SQL有没有写好。。。
在别的都一样的情况下,只考虑数据量,这个还是有一定参考意义的~ |
|
返回顶楼 | |