分库分表
1、为什么要分库分表?
2、分库分表的方式:
1、分库分表有两种方式:垂直切分 和 水平切分
2、垂直切分:垂直分表 和 垂直分库
垂直分表
(1)操作数据库中某张表,把这张表中一部分字段数据存到一张新表中,再把这张表另一部分 段存到另外一张表中
垂直分库:
(1)把单一的数据库按照业务进行划分成多个数据库,做到专库专表
3、水平切分:水平分表 和 水平分库
水平分库
创建多个相同结构的数据库,A B是完全一样的
在存储数据时,需要加一个规则,具体存向哪个库
水平分表
数据库中创建结构相同的多张表
3、分库分表应用和问题
1】应用
(1)在数据库设计的时候考虑垂直分库和垂直分表
(2)随着数据库数据量的增加,不要马上考虑做水平切分,首先考虑缓存,读写分离,使用索引,如果这些方式不能根本性解决问题,再考虑做分库分表
2】分库分表问题 【好处,解决单库单表数据量大造成的性能下降问题】
(1)跨节点连接查询的问题 (分页,排序)
(2)多数据源管理的问题
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?