mysql 分区后查询效率
准备工作:
蠕虫复制 文章表 增加数据到112万
语法:insert into tableNameA select * from tableNameB
未分区查询 54s
改变现有表分区
alter table t_article PARTITION BY RANGE (aid) (PARTITION p0 VALUES LESS THAN (200000), PARTITION p1 VALUES LESS THAN (400000) , PARTITION p2 VALUES LESS THAN (600000) , PARTITION p3 VALUES LESS THAN (800000) , PARTITION p4 VALUES LESS THAN (1000000) , PARTITION p5 VALUES LESS THAN (2000000) , PARTITION pmax VALUES LESS THAN MAXVALUE );
删除表分区
ALTER TABLE 表名 DROP PARTITION 分区名;
分区后查询时间 1.2 s
总结:mysql 中分区可大大增加查询速度,原理和横向分割数据一样,只不过mysql自身做了处理。