mysql表分区时的问题

2018-02-08  本文已影响24人  lesline

之前系统对表进行表分区中遇到一个问题:

CREATE TABLE  flow (  
     id INT NOT NULL,  
     bussiness_no VARCHAR(32) NOT NULL,   
     create_data DATE NOT NULL,  
     PRIMARY KEY (id)  ,
     UNIQUE KEY ( bussiness_no,create_data)  
)  
PARTITION BY KEY(bid)  
PARTITIONS 10;

Mysql分区:分区键和唯一索引主键的关系-彭超的博客

表上的每一个唯一性索引(其中包括主键索引,可以为索引中的部分字段)必须用于分区表的表达式上:
分区列和索引列不匹配如果定义的索引列和分区列不匹配,会导致查询无法进行分区过滤。假设在列a上定义了索引,而在列b上定义的分区。因为每个分区都有其独立的索引,
所以扫描列b上的索引就需要扫描每个分区内对应的索引。要避免这个问题,应该避免建立和分区列不匹配的索引,除非查询中还同时包含了可以过滤分区的条件。

上一篇 下一篇

猜你喜欢

热点阅读