关于数据库分库分表

目录

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

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


一 什么是分库分表

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

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

相关推荐
一 乐2 小时前
民宿|基于java的民宿推荐系统(源码+数据库+文档)
java·前端·数据库·vue.js·论文·源码
美林数据Tempodata3 小时前
大模型驱动数据分析革新:美林数据智能问数解决方案破局传统 BI 痛点
数据库·人工智能·数据分析·大模型·智能问数
野槐3 小时前
node.js连接mysql写接口(一)
数据库·mysql
Zzzone6834 小时前
PostgreSQL日常维护
数据库·postgresql
chxii4 小时前
1.13使用 Node.js 操作 SQLite
数据库·sqlite·node.js
冰刀画的圈4 小时前
修改Oracle编码
数据库·oracle
这个胖子不太裤4 小时前
Django(自用)
数据库·django·sqlite
麻辣清汤4 小时前
MySQL 索引类型及其必要性与优点
数据库·mysql
2501_915374355 小时前
Neo4j 图数据库安装教程(2024最新版)—— Windows / Linux / macOS 全平台指南
数据库·windows·neo4j
it-搬运工6 小时前
3.图数据Neo4j - CQL的使用
数据库·neo4j