当前位置: 首页 > article >正文

浅谈分库分表的“读扩散”问题

分库分表

我们平时做项目开发。一开始,通常都先用一张数据表,而一般来说数据表写到2kw条数据之后,底层B+树的层级结构就可能会变高,不同层级的数据页一般都放在磁盘里不同的地方,换言之,磁盘IO就会增多,带来的便是查询性能变差。

于是,当我们单表需要管理的数据变得越来越多,就不得不考虑数据库分表。而这里的分表,分为水平分表和垂直分表

垂直分表的原理比较简单,一般就是把某几列拆成一个新表,这样单行数据就会变小,B+树里的单个数据页(固定16kb)内能放入的行数就会变多,从而使单表能放入更多的数据。

垂直分表没有太多可以说的点。下面,我们重点说说最常见的水平分表

水平分表有好几种做法,但不管是哪种,本质上都是将原来的 user 表,变成 user_0, user1, user2 .... uerN这样的N多张小表。

从读写一张user大表,变成读写 user_1 … userN 这样的N张小表


http://www.kler.cn/a/288303.html

相关文章:

  • CSS的综合应用例子(网页制作)
  • 第 13 章 -Go 语言 接口
  • 排序算法 -快速排序
  • Centos安装Elasticsearch教程
  • 三维测量与建模笔记 - 特征提取与匹配 - 4.2 梯度算子、Canny边缘检测、霍夫变换直线检测
  • 数据挖掘(九)
  • 第二十章 rust多平台编译
  • 博客自建(带避坑指南)4:hexo文章页设置和动画魔改设置
  • 数据防泄密知识集锦丨八个实用数据防泄密软件,你知道吗?
  • TikTok直播限流与网络有关系吗?怎么解决?
  • 【Apache Doris】数据均衡问题排查指南
  • 解锁 Redis:探索连接策略、数据编码与性能秘诀
  • Vue3项目开发——新闻发布管理系统(五)
  • 腾讯云技术深度解析:AI代码助手与微服务架构的实践应用
  • 为什么RAG应用很难落地?细说RAG系统开发关键痛点和解决方案
  • opencv图像形态学(边缘检测算法实例)
  • 论文《Generalized Focal Loss》阅读笔记
  • Java的内存模型(JMM)和锁机制
  • Unity (编辑器)数据持久化 之 ScriptableObject初识与创建
  • 微信小程序中Towxml解析Markdown及html
  • 【Eureka】搭建Eureka Server,实现服务注册和服务发现
  • 数据库约束--确保数据完整性
  • 用JS屏蔽网页中的鼠标点击
  • uniapp微信小程序开发测试获取手机号码
  • 研究生深度学习入门的十天学习计划------第七天
  • 【TiDB原理与实战详解】3、 集群升级和逻辑备份恢复~学不会? 不存在的!