mysql基础
七,mysql分表分区
1.mysql分区表的原理:


对数据物理层面的分区 把数据通过策略分配到多个表里面。不影响业务逻辑
MySQL从5.1开始支持分区功能。分区一句话就是:把一张表按照某种规则(range/list/hash/key等)分成多个区域(页/文件)保存。对mysql应用开发来说,分区与不分区是没区别的(即对应用是透明的)。如同突围战中的“化整为零”。MySQL支持大部分的存储引擎(如:MyISAM、InnoDB、Memory等)创建分区,不支持MERGE和CSV来创建分区。同一个分区表中的所有分区必须是同一个存储引擎。做一个引例:
创建一个5个hash分区的myisam表
CREATE TABLE test .partition_t1 (
id INT UNSIGNED NOT NULL,
username VARCHAR(30) NOT NULL,
email VARCHAR(30) NOT NULL,
birth_date DATE NOT NULL
) ENGINE=MYISAM
PARTITION BY HASH(MONTH(birth_date))
PARTITIONS 5;









2.mysql分库分表的原理:













文章参考来源:
https://juejin.im/post/58820c6b128fe1006c2aeea6 |