我知道分库分表原因简单来说主要有以下两个:
原因1:单表数据量过大,出现查询性能问题
原因2:业务访问压力过大,出现IO瓶颈或CPU瓶颈
分库分表可以缓解上述问题,但对分库有一个小疑问,从分库的字面上理解,有下面两种做法:
分库方式1:在同一台服务器上(或者说在同一个mysql服务下)拆分为两个database
分库方式2:拆分到不同的数据库服务器分摊访问压力
针对第一种分库,这么做能解决什么问题,有什么好处呢?一般什么情况下这么做?
谢谢解答。
第一种应该是分表,有垂直分表和水平分表,也可混用
垂直分表可以降低被锁概率,水平分表降低单表数据量,降低索引B树的高度,提升查询效率
5 回答3.3k 阅读✓ 已解决
3 回答3.6k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
5 回答1.4k 阅读
3 回答1.3k 阅读✓ 已解决
2 回答1.8k 阅读
3 回答2k 阅读
同一台数据库主要靠分表来优化,不需要分库;
除非业务耦合度很低,需要用不同库来区分不同业务,赋予不同访问权限。