码迷,mamicode.com
首页 > 数据库 > 详细

MySql采用range分区可提升查询效率

时间:2018-08-25 14:22:34      阅读:237      评论:0      收藏:0      [点我收藏+]

标签:技术   ima   添加   mys   drop   val   inf   span   time   

简介:

RANGE分区基于一个给定的连续区间范围,早期版本RANGE主要是基于整数的分区。在5.7版本中DATE、DATETIME列也可以使用RANGE分区,同时在5.5以上的版本提供了基于非整形的RANGE COLUMN分区。RANGE分区必须的连续的且不能重叠。使用

“VALUES LESS THAN ()” 来定义分区区间,非整形的范围值需要使用单引号,并且可以使用MAXVALUE作为分区的最高值。

本文将给大家介绍MySQL 5.6.24 range分区增加删除处理的相关内容,分享给大家供大家参考学习,下面来看看详细的介绍:

box_enter_record_archive表中大概有40万数据,在没有任何改动的情况下查询:耗时0.545s

技术分享图片

把时间加为主键,注意:mysql中创建分区的字段必须在主键中,然后查询耗时:0.547s

技术分享图片

采用range分区

ALTER TABLE `box_enter_record_archive`
partition by range(to_days(entertime))
(
partition P0 values less than (to_days(2018-01-01)),
partition P1 values less than (to_days(2018-02-01)),
partition P2 values less than (to_days(2018-03-01)),
partition P3 values less than (to_days(2018-04-01)),
partition P4 values less than (to_days(2018-05-01)),
partition P5 values less than (to_days(2018-06-01)),
partition P6 values less than (to_days(2018-07-01)),
partition P7 values less than (to_days(2018-08-01)),
partition P8 values less than (to_days(2018-09-01)),
partition P9 values less than (to_days(2018-10-01)),
partition P10 values less than (to_days(2018-11-01)),
partition P11 values less than (to_days(2018-12-01))
)

查看分区情况,每个分区有多少记录

SELECT partition_name,table_rows,a.*  FROM
  INFORMATION_SCHEMA.partitions a
WHERE
  TABLE_SCHEMA = schema()
  AND TABLE_NAME=box_enter_record_archive; 

技术分享图片

技术分享图片

创建分区后查询耗时:0.169s

技术分享图片

再为entertime添加索引后,查询耗时:0.004s

技术分享图片

相关命令:

ALTER TABLE `box_enter_record_archive` DROP partition p0; -- 删除box_enter_record_archive表中的某一个分区。
ALTER TABLE `box_enter_record_archive` REMOVE partitioning; -- 删除box_enter_record_archive表的分区并将其恢复为其原始的非分区状态。
ALTER TABLE `box_enter_record_archive` add partition(partition P12 values less than (to_days(2019-01-01))); -- 新增range分区

 

每天,进步一点点

 

MySql采用range分区可提升查询效率

标签:技术   ima   添加   mys   drop   val   inf   span   time   

原文地址:https://www.cnblogs.com/dwBurning/p/mysqlrange.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!