全球主机交流论坛
标题:
好好的系统,为什么要分库分表?
[打印本页]
作者:
odmin
时间:
2023-11-4 00:57
标题:
好好的系统,为什么要分库分表?
本帖最后由 odmin 于 2023-11-4 01:00 编辑
为什么需要分表?#
做过报表业务的同学应该都体验过,一条 SQL 执行时间超过几十秒的场景。
导致数据库查询慢的原因有很多,SQL 没命中索引、like 扫全表、用了函数计算,这些都可以通过优化手段解决,可唯独数据量大是 MySQL 无法通过自身优化解决的。慢的根本原因是 InnoDB 存储引擎,聚簇索引结构的 B+tree 层级变高,磁盘 IO 变多查询性能变慢,详细原理自行查找一下,这里不用过多篇幅说明。
阿里的开发手册中有条建议,单表行数超 500 万行或者单表容量超过 2GB,就推荐分库分表,然而理想和实现总是有差距的,阿里这种体量的公司不差钱当然可以这么用,实际上很多公司单表数据几千万、亿级别仍然不选择分库分表。
作者:
bugu
时间:
2023-11-4 10:29
学习
作者:
sagitchu
时间:
2023-11-4 10:35
学习
欢迎光临 全球主机交流论坛 (https://91ai.net/)
Powered by Discuz! X3.4