关于数据库分库分表

目录

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

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


一 什么是分库分表

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

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

相关推荐
px不是xp1 分钟前
Docker部署Qdrant向量数据库,初始化向量数据库,重构RAG逻辑
数据库·docker·微信小程序·重构·qdrant
funnycoffee1238 分钟前
Cisco Firewpower 4100 9300 FXOS change management ip address
linux·数据库·tcp/ip
Chase_______8 分钟前
Java 基础语言 ③:流程控制与数组——从条件分支到数组遍历,一篇通关
java·数据库·python
2501_921939269 分钟前
MySQL(备份恢复、主从复制读写分离)
数据库·mysql
阿kun要赚马内9 分钟前
SQLAlchemy的类型定义语法
数据库·oracle
星纬智联技术36 分钟前
给 Amp 配置自定义 API:CLIProxyAPI 接入教程
运维·服务器·数据库
浩~~43 分钟前
极客大挑战2019-LoveSQL
数据库
码农阿豪1 小时前
Go 语言操作金仓数据库(上篇):环境搭建与连接管理
开发语言·数据库·golang
码农阿豪1 小时前
Go 语言操作金仓数据库(下篇):SQL 执行、类型映射与超时控制
数据库·sql·golang
IronMurphy1 小时前
Redis拷打第二讲
数据库·redis·缓存