MySql 技术内幕 (第10章 分区)

 

分区是表的一种设计模式。正确的分区可以极大提高数据库的查询效率。

分区不是在存储引擎层面实现的,所以并不是Innodb独有的。mysql仅支持水平分区(将同一表中的不同行的记录分配到不同的物理文件中),并且是局部分区索引,一个区中既存放数据又存放索引。

全局分区: 数据存放在各个分区中,但是所有数据的索引放在一个对象中;(mysql 暂不支持)

 

mysql支持一下的分区方法:

- RANGE分区 (指定一个连续范围): 行数据基于属于一个给定连续区间的列值放入分区;

- LIST分区(指定一个离散范围): 面向的是离散的值 ;

- HASH分区(通过自定义函数的返回值来进行分区,返回值不能是负值)

- KEY分区(根据mysql提供的散列函数进行分区)

如果表中存在主键或唯一索引,分区列必须是唯一索引的一部分。

唯一索引可以是null值,并且只要求分区列是唯一索引的一个组成部分, 不需要整个唯一索引列都是分区列;

  

-- 具体章节参考 :  https://www.cnblogs.com/coloz/p/13792671.html     <4.8章节

原文地址:https://www.cnblogs.com/coloz/p/13609052.html