Mysql 分区表

2022-01-03  本文已影响0人  明翼
  1. MySQL分区表支持RANGE,LIST,HASH,KEY,COLUMNS多种分区算法。
  2. 分区表的唯一索引和主键索引必须包含分区列。
  3. 分区表是一张逻辑大表,各个分区数据单独存放。
  4. 分区表的唯一索引只在当前文件唯一,不是全局唯一。
  5. 分区表虽然有可能降低了树的高度,但是不能提升性能,如果用非分区列查询,需要查询
    所有分区反而会降低性能。
  6. 分区表主要用于数据的管理,比如按照月或年管理数据,便于清理数据:

create table sales_order(
order_date DATETIME not null,
)ENGINE=InnoDB PARTITION BY RANGE(YEAR(order_date))(
PARTITION P_2017 VALUES LESS THAN(2017),
PARTITION P_2018 VALUES LESS THAN(2018),
PARTITION P_2019 VALUES LESS THAN(2019),
PARTITION P_catchall VALUES LESS THAN MAXVALUE
);

-- 删除分区
ALTER TABLE sales_order
TRUNCATE PARTITION P_2017;

上一篇 下一篇

猜你喜欢

热点阅读