分库分表难题:单表极限何在?
针对单表数据量庞大、查询效率低的问题,分库分表方案应运而生。但对于访问量不大、单表较大的场景,到底该如何选择分库还是分表呢?
根据此前的了解,分库侧重提升数据库并发连接能力,而分表则是降低B+Tree索引树的高度,加快查询速度。那么,是否意味着访问量不大、单表巨大的情况下,仅分表即可满足需要?
分库必分表的答案
答案是:否。
原因在于数据库的瓶颈并非CPU、RAM,而是硬盘速度,特别是硬盘的随机读写速度。
分库分表的本质在于将数据存储到不同的物理机器中,从而提高QPS或TPS。因此,仅仅分表而不分库无法从根本上解决硬盘随机读写速度的问题。
分表可以降低索引树的高度,减少数据查询所需的时间,但是在访问量较大的情况下,硬盘读写依然会成为瓶颈。而分库通过将数据分布到不同的机器上,可以有效降低对单块硬盘的读写压力,从而提升整体性能。
所以,对于访问量不是很大、但单表很大的情况,依然推荐分库分表,将数据均衡分布到多个机器上,以获得更佳的性能表现。
以上就是访问量不大,单表巨大,分库还是分表?的详细内容,更多请关注php中文网其它相关文章!
版权声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系 yyfuon@163.com