关于数据库分库分表

目录

[一 什么是分库分表](#一 什么是分库分表)

[二 什么情况下需要分库分表](#二 什么情况下需要分库分表)


一 什么是分库分表

分库分表是一种数据库拆分技术,把数据分散存储,目的主要是为了提高数据库的性能。

分库是把一个大的数据库分成多个小的数据库。比如数据库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,理解为每表的输入输出量/读写次数,是衡量磁盘性能的指标

相关推荐
QQ_43766431420 小时前
Redis协议与异步方式
数据库·redis·bootstrap
纪莫20 小时前
技术面:MySQL篇(InnoDB事务执行过程、事务隔离级别、事务并发异常)
数据库·java面试⑧股
Nerd Nirvana20 小时前
数据库模型全景:从原理到实践的系统性指南
数据库·oracle·电力行业
SelectDB20 小时前
从 Greenplum 到 Doris:集群缩减 2/3、年省数百万,度小满构建超大规模数据分析平台经验
数据库·数据分析·apache
alonewolf_9921 小时前
MySQL索引优化实战二:分页、关联查询与Count优化深度解析
数据库·mysql
TDengine (老段)21 小时前
TDengine Python 连接器进阶指南
大数据·数据库·python·物联网·时序数据库·tdengine·涛思数据
赵渝强老师21 小时前
【赵渝强老师】OceanBase的配置文件与配置项
数据库·oceanbase
玖日大大1 天前
OceanBase SeekDB:AI 原生数据库的技术革命与实践指南
数据库·人工智能·oceanbase
高溪流1 天前
3.数据库表的基本操作
数据库·mysql
alonewolf_991 天前
深入剖析MySQL锁机制与MVCC原理:高并发场景下的数据库核心优化
数据库·mysql