关于数据库分库分表

目录

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

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


一 什么是分库分表

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

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

相关推荐
三十..4 分钟前
Redis 核心原理与高可用架构实践
运维·数据库·redis
这个DBA有点耶22 分钟前
索引优化深潜(下):索引合并、ICP 与索引设计的实战法则
数据库·mysql·架构
努力努力再努力wz38 分钟前
【内存管理与高并发内存池系列】从 mmap 到 malloc:文件映射、匿名映射与 glibc 内存分配机制详解
linux·c语言·数据结构·数据库·c++·qt·链表
JdSnE27zv1 小时前
Qt 操作SQLite数据库
数据库·qt·sqlite
tedcloud1231 小时前
HyperFrames部署教程:用HTML生成MP4视频
前端·数据库·人工智能·html·音视频
布朗克1681 小时前
25 IO流高级操作——序列化、NIO与Files工具类
java·数据库·io·nio
阿演1 小时前
DataDjinn 新版本更新:新增 Oracle 支持,查询窗口、表预览和连接树继续打磨
数据库·oracle·ai编程·数据库连接工具
lixora2 小时前
Oracle 11g Active Data Guard Go 自动化部署工具 v1.0
数据库·oracle
Nturmoils2 小时前
自增主键别只会 auto_increment,先把值从哪来讲清楚
数据库·后端
叶小鸡2 小时前
Java 篇-项目实战-AI 天机学堂(从 0 到 1)-day5
数据库·redis·缓存