关于数据库分库分表

目录

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

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


一 什么是分库分表

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

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

相关推荐
不羁。。7 分钟前
【撸靶笔记】第八关:GET - Blind - Boolian Based - Single Quotes
数据库·sql·mybatis
AwhiteV1 小时前
利用图数据库高效解决 Text2sql 任务中表结构复杂时占用过多大模型上下文的问题
数据库·人工智能·自然语言处理·oracle·大模型·text2sql
m0_595199851 小时前
Redis(以Django为例,含具体操作步骤)
数据库·redis·缓存
爱尚你19931 小时前
MySQL 三大日志:redo log、undo log、binlog 详解
数据库·mysql
小猿姐3 小时前
KubeBlocks AI:AI时代的云原生数据库运维探索
数据库·人工智能·云原生·kubeblocks
NocoBase4 小时前
10 个开源工具,快速构建数据应用
数据库·低代码·开源
麻辣清汤4 小时前
结合BI多维度异常分析(日期-> 商家/渠道->日期(商家/渠道))
数据库·python·sql·finebi
Kan先生6 小时前
对象存储解决方案:MinIO 的架构与代码实战
数据库·python
超级迅猛龙6 小时前
保姆级Debezium抽取SQL Server同步kafka
数据库·hadoop·mysql·sqlserver·kafka·linq·cdc
杨过过儿7 小时前
【Task02】:四步构建简单rag(第一章3节)
android·java·数据库