表分区:把大型表的行划分成多个较小的分区
优点:1.改善表的查询性能(不用查询全表)
2.表更容易管理
3.备份和恢复会执行得更好(针对小表的备份和恢复方法更多)
创建分区表:
范围分区:
在create子句后加上
partition by range (category_name)
(partition part1 values less than ('B') tablespace part1_ts,
partition part2 values less than (maxvalue) tablespace part2_ts);
其中:category_name是字段名,表根据该字段的值进行分区;
part1、part2是分区名;
part1_ts、part2_ts是分区所在的表空间名;
通过less than()指定每个分区中的最大值,该分区中响应字段的值小于但不等于该值。(即part1中不包含对应字段首字母为’B’的记录)
散列分区:
partition by hash (category_name)
partitions 16
store in (part1_ts,part2_ts);
将’partition by range’替换为’partition by hash’,只需声明分区个数即可。
建议将分区数设为2的乘方(2、4、8、16)。
可以通过’store in()’来指定表空间。
散列分区把记录