一:概述 通过把表分成多几区间,每个区间存储符合特定表达式的数据(即在我们创建分区表时指定每个分区存储的条件例如:PARTITION p0 VALUES LESS THAN (100) 即p0区间存储小于100的数据)。
二:分区类型
即根据每个区间存储值的表达式不同,可分为如下几个类型,一般都是对数字类型或时间类型的数据进行分区。
2.1 RANGE分区 :即通过表达式 PARTITION p0 VALUES LESS THAN (100) 。即 less小于指定的值存储区间。
2.2 LIST 分区 :即通过表达式 PARTITION pNorth VALUES IN (3,5,6,9,17) 。即值在in括号里面的值存储区间。
2.3 HASH 分区 :即通过特定算法(hash)把指定的值放入不同区间。PARTITION BY HASH(id) PARTITIONS 4。
2.4 KEY 分区: 和hash分区类似,但指定的列值必须是唯一值(即主键或 UNIQUE KEY),PARTITION BY KEY() PARTITIONS 2;
2.5COLUMNS 分区:
三:分区查询
语法:
SELECTselect_expr[, select_expr ...]
FROMtable_references[PARTITION partition_list] //指定分局
eg:select * from rc1 PARTITION(p0) ; //在标的引用后面加上PARTITION(p,...)函数,参数为表的分区名
备注:如果我们查询没有添加分区条件,默认是查询所有分区
四:RANGE分区
CREATE TABLE`tb_range` (-> `id` int(11) NOT NULL,-> `fname` varchar(30) DEFAULT NULL,-> `lname` varchar(30) DEFAULT NULL
->)-> PARTITION BYRANGE (id)-> (PARTITION p0 VALUES LESS THAN (6),-> PARTITION p1 V