文章目录
前言
本文将使用 JeecgBoot 框架为例,介绍 MySQL 的分库分表技术。我们将涵盖水平切分和垂直切分两种方式,并针对水平切分的数据迁移问题、读写热点问题以及垂直切分引发的读扩散问题提供解决方案。
水平切分
水平切分是将一个大型数据库拆分成多个较小的数据库(分库),每个数据库又拆分成多个表(分表)。常用的水平切分方式有根据 ID 取模分表和根据 ID 范围分表。
根据 ID 取模分表
在根据 ID 取模分表的方式中,根据数据的 ID 进行取模运算,将数据分散到不同的表中,从而分散单表的请求量。
假设我们有一个用户表(user
),表结构如下:
CREATE TABLE `user`