目录
[一 什么是分库分表](#一 什么是分库分表)
[二 什么情况下需要分库分表](#二 什么情况下需要分库分表)
一 什么是分库分表
分库分表是一种数据库拆分技术,把数据分散存储,目的主要是为了提高数据库的性能。
分库是把一个大的数据库分成多个小的数据库。比如数据库school,拆分成2个库,变成school_student, school_teacher;
分表是进一步拆分,一张数据表分成多张表。比如数据表grade,拆分成3张表,就变成grade_01,grade_02,grade_03;
二 什么情况下需要分库分表
举个例子,如果一张表数据过大,查询压力变大,查表速度会慢,这时可以考虑分表,加快查询速度;如果该表的读写次数过多,分表也无法很好缓解压力,这时考虑分库。
|------------------------|----------------|
| 场景 | 方案(分库/分表/分库分表) |
| 单表数据量很大,QPS不高 | 分表 |
| 单库QPS很高,QPS很高,数据库连接数不足 | 分库 |
| 总体数据量很大,数据库连接数不足 | 分库分表 |
注释:
QPS:query per second,每秒查询率,理解为服务器每秒相应的请求数
IOPS:input/output per second,理解为每表的输入输出量/读写次数,是衡量磁盘性能的指标