首页 / MYSQL / MySQL每天自动增加分区
MySQL每天自动增加分区
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了MySQL每天自动增加分区,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2547字,纯文字阅读大概需要4分钟。
内容图文
![MySQL每天自动增加分区](/upload/InfoBanner/zyjiaocheng/502/0cd5146761374d14b72674bacd5f0015.jpg)
ALTER TABLE tb_3a_huandan_detail PARTITION BY RANGE (TO_DAYS(ServiceStartTime)) ( PARTITION p20160523 VALUES LESS THAN (TO_DAYS(‘2016-05-23‘)), PARTITION p20160524 VALUES LESS THAN (TO_DAYS(‘2016-05-24‘)), PARTITION p20160525 VALUES LESS THAN (TO_DAYS(‘2016-05-25‘)), PARTITION p20160526 VALUES LESS THAN (TO_DAYS(‘2016-05-26‘)), PARTITION p20160527 VALUES LESS THAN (TO_DAYS(‘2016-05-27‘)) )
2、分区存过如下:
DELIMITER $$
USE `sdk`$$
ROP PROCEDURE IF EXISTS `create_Partition_3Ahuadan`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `create_Partition_3Ahuadan`()
EGIN
/* 事务回滚,其实放这里没什么作用,ALTER TABLE是隐式提交,回滚不了的。*/
DECLARE EXIT HANDLER FOR SQLEXCEPTION ROLLBACK;
START TRANSACTION;
/* 到系统表查出这个表的最大分区,得到最大分区的日期。在创建分区的时候,名称就以日期格式存放,方便后面维护 */
SELECT REPLACE(partition_name,‘p‘,‘‘) INTO @P12_Name FROM INFORMATION_SCHEMA.PARTITIONS
WHERE table_name=‘tb_3a_huandan_detail‘ ORDER BY partition_ordinal_position DESC LIMIT 1;
SET @Max_date= DATE(DATE_ADD(@P12_Name+0, INTERVAL 1 DAY))+0;
/* 修改表,在最大分区的后面增加一个分区,时间范围加1天 */
SET @s1=CONCAT(‘ALTER TABLE tb_3a_huandan_detail ADD PARTITION (PARTITION p‘,@Max_date,‘ VALUES LESS THAN (TO_DAYS (‘‘‘,DATE(@Max_date),‘‘‘)))‘);
/* 输出查看增加分区语句*/
SELECT @s1;
PREPARE stmt2 FROM @s1;
EXECUTE stmt2;
DEALLOCATE PREPARE stmt2;
/* 取出最小的分区的名称,并删除掉 。
注意:删除分区会同时删除分区内的数据,慎重 */
/*select partition_name into @P0_Name from INFORMATION_SCHEMA.PARTITIONS
where table_name=‘tb_3a_huandan_detail‘ order by partition_ordinal_position limit 1;
SET @s=concat(‘ALTER TABLE tb_3a_huandan_detail DROP PARTITION ‘,@P0_Name);
PREPARE stmt1 FROM @s;
EXECUTE stmt1;
DEALLOCATE PREPARE stmt1; */
/* 提交 */
COMMIT ;
END$$
DELIMITER ;
3、增加定时事件
DELIMITER ||
CREATE EVENT Partition_3Ahuadan_event
ON SCHEDULE
EVERY 1 day STARTS ‘2016-05-27 23:59:59‘
DO
BEGIN
CALL nres.`create_Partition_3Ahuadan`;
END ||
DELIMITER ;
转载:https://www.cnblogs.com/lanceblog/p/5532068.html
MySQL每天自动增加分区
标签:pre position exec create detail nsa com eal col
本文系统来源:https://www.cnblogs.com/wy321/p/9934477.html
内容总结
以上是互联网集市为您收集整理的MySQL每天自动增加分区全部内容,希望文章能够帮你解决MySQL每天自动增加分区所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。