当前位置: 首页 > news >正文

MySQL按时间Range分区

查询分区

--查询表分区
select partition_name,
partition_expression,
partition_description,
table_rows
from
information_schema.partitions
where
table_schema = schema() and table_name='table_name';

删除分区

--删除表分区
ALTER TABLE fg_cdr DROP PARTITION p20250101;

创建分区

--创建表分区
ALTER TABLE table_name PARTITION BY RANGE (TO_DAYS(created_at))
(PARTITION p0 VALUES LESS THAN (0) ENGINE = InnoDB,PARTITION p20221221 VALUES LESS THAN (TO_DAYS('2025-01-01')) ENGINE = InnoDB
);

自动化-可以创建存储过程,开启mysql执行计划,每天执行一次,创建当前最大分区加一天的分区

为指定表添加分区存储过程

CREATE DEFINER=`root`@`localhost` PROCEDURE `ADD_ONE_PARTITION_BY_DATETIME`(IN PARTITION_TABLE_NAME VARCHAR(100))
BEGIN
SELECT REPLACE( PARTITION_NAME, 'p', '' ) INTO @PARTITION_NAME
FROMINFORMATION_SCHEMA.PARTITIONS 
WHERETABLE_SCHEMA = SCHEMA ( ) AND TABLE_NAME = @PARTITION_TABLE_NAME 
ORDER BYPARTITION_ORDINAL_POSITION DESC LIMIT 1;
SET @PARTITION_DATE_NAME = DATE( DATE_ADD( @PARTITION_NAME + 0, INTERVAL 1 DAY ) ) + 0;
SET @PARTITION_DATE_VALUE = DATE( DATE_ADD( @PARTITION_NAME + 0, INTERVAL 2 DAY ) ) + 0;
SET @STATEMENT_SQL = CONCAT( 'ALTER TABLE ', @PARTITION_TABLE_NAME, ' ADD PARTITION (PARTITION p', @PARTITION_DATE_NAME, ' VALUES LESS THAN (TO_DAYS(''', DATE(@PARTITION_DATE_VALUE), ''')))' );
SELECT @STATEMENT_SQL;
PREPARE PREPARE_STATEMENT_SQL FROM	@STATEMENT_SQL;
EXECUTE PREPARE_STATEMENT_SQL;
DEALLOCATE PREPARE PREPARE_STATEMENT_SQL;
END

批量指定哪些表表要创建分区(同类型根据时间字段创建Range分区)

CREATE DEFINER=`root`@`localhost` PROCEDURE `A_AUTO_CREATE_PARTITIONS`()
BEGINDECLAREEXIT HANDLER FOR SQLEXCEPTION ROLLBACK;START TRANSACTION;SET @PARTITION_TABLE_NAME = 'table_name1';CALL ADD_ONE_PARTITION_BY_CHAR(@PARTITION_TABLE_NAME);SET @PARTITION_TABLE_NAME = 'table_name2';CALL ADD_ONE_PARTITION_BY_CHAR(@PARTITION_TABLE_NAME);COMMIT;
END

开启mysql定时任务即可, 在定时任务中调用: A_AUTO_CREATE_PARTITIONS()


文章转载自:

http://FWfgfHr8.Lwtfx.cn
http://RT2q2IKT.Lwtfx.cn
http://xMbPcXiG.Lwtfx.cn
http://gcO2TFg7.Lwtfx.cn
http://7cCSwIE3.Lwtfx.cn
http://gPdfXKls.Lwtfx.cn
http://yxwMtFwY.Lwtfx.cn
http://i2DDMfRw.Lwtfx.cn
http://8yN2ocra.Lwtfx.cn
http://MSqL4u2T.Lwtfx.cn
http://fVjVPZGG.Lwtfx.cn
http://wZHwIo1O.Lwtfx.cn
http://uihrfL7w.Lwtfx.cn
http://OinDVha1.Lwtfx.cn
http://piWzsDRk.Lwtfx.cn
http://9Eain3oN.Lwtfx.cn
http://kGllXFiL.Lwtfx.cn
http://RMV8AaQw.Lwtfx.cn
http://lz7h7by3.Lwtfx.cn
http://cT2jRuuJ.Lwtfx.cn
http://PwaI4p6z.Lwtfx.cn
http://4cjhOOh0.Lwtfx.cn
http://4IVfNHVx.Lwtfx.cn
http://VbT57y4A.Lwtfx.cn
http://5d09V8Cw.Lwtfx.cn
http://wjwSRkCG.Lwtfx.cn
http://7X3yKBxX.Lwtfx.cn
http://A9TYBxfV.Lwtfx.cn
http://6lNqxu3v.Lwtfx.cn
http://YrnE5bgK.Lwtfx.cn
http://www.dtcms.com/a/380927.html

相关文章:

  • python发送请求SSL验证设置
  • 关于栈和队列的OJ练习
  • WebGIS包括哪些技术栈?怎么学习?
  • 15、优化算法工程实践 - 从数学理论到AI训练的核心引擎
  • VS2019 Community 社区版下载链接
  • 高低压隔离器的技术演进与行业赋能
  • 氚燃料增殖里程碑:MIT新型BABY包层技术实验验证
  • 【案例教程】基于R语言的物种气候生态位动态量化与分布特征模拟实践技术应用
  • 《WINDOWS 环境下32位汇编语言程序设计》第16章 WinSock接口和网络编程(1)
  • 实习总结——关于联调解决的因CRC校验导致协议交互失败的调试经验总结
  • 【从零开始的大模型原理与实践教程】--第三章:预训练语言模型
  • GitHub Copilot支持 GPT-5 和 GPT-5 mini!
  • Day01 Geant4学习
  • 11. 网络同步模型 - 状态同步A
  • Mem0 + Milvus:为人工智能构建持久化长时记忆
  • 力学矢量三角形“无脑”求解指南:基于极角代数的系统化方法
  • 算法第四题移动零(双指针或简便设计),链路聚合(两个交换机配置)以及常用命令
  • 背包问题从入门到入土
  • 远程连接--向日葵
  • 植物灯电源芯片选型指南:如何实现高效与智能?
  • Python读取视频-硬解和软解
  • FFmpeg vs 去水印软件:哪种方式更适合你?
  • Java垃圾回收机制理论算法及使用
  • 【Vue2 ✨】Vue2 入门之旅 · 进阶篇(六):keep-alive 与缓存机制
  • IDA pro 生成idapro.hexlic
  • 【CE】CE教程Tutorial:进阶篇(第8关:多级指针)(Pointer Scan工具)
  • Java 更改 Word 文档中文本颜色
  • Cesium 无人机航线规划(环点航线)
  • 一般软件加载显示图片的流程
  • 第十四届蓝桥杯青少组C++选拔赛[2023.1.15]第二部分编程题(3、寻找花坛)