- 垂直分表:
常用的字段分类放在一/几个表中,另外不常用的字段分类放在另一/几个表中。
避免io争抢,减少锁表的几率。
- 垂直分库:
同一个库,按业务类别拆分到不同的库中,分布在不同的机器上。专库专用。
避免竞争同一个物理机的cpu/内存/网络io/磁盘。
- 水平分库:
相同的表结构分布到不同的库中,通过id进行路由到不同的库中。
- 水平分表:
相同的表结构创建不同的表,通过id进行路由到不同的表中。
- 数据库优化基本策略:
系统设计阶段就应该根据业务来确定垂直分库,垂直分表。
然后随着数据量增大,优先使用缓存,主从分离,优化索引来提高性能。
最后数据量实在太大则考虑水平分库,水平分表。