MYSQL定时创建表分区

一.存储过程-表分区
-----------------------------------------------------------------
需求:
每月创建一个分区
分区名名称格式:p201201,p201202……
------------------------------------------

 1 CREATE DEFINER = `root`@`%` PROCEDURE `Auto_Create_Partition`(IN `databaseName` varchar(50),IN `tableName` varchar(50))
 2 L_END:BEGIN
 3 # 初始化变量
 4 DECLARE MAX_PARTITION_DESCRIPTION VARCHAR(255) DEFAULT 0;
 5 DECLARE P_DESCRIPTION VARCHAR(255) DEFAULT 0;
 6 DECLARE i INT DEFAULT 1;
 7 DECLARE ISEXIST_PARTITION VARCHAR(255) DEFAULT 0;
 8 DECLARE next_p_name varchar(255) DEFAULT 0;
 9 # 查询表分区    最近的一个月的分区(ORDER BY partition_description DESC LIMIT 1)
10 SELECT PARTITION_NAME INTO ISEXIST_PARTITION FROM information_schema.PARTITIONS WHERE TABLE_SCHEMA = databaseName AND TABLE_NAME = tableName ORDER BY partition_description DESC LIMIT 1 ;
11
12 IF ISEXIST_PARTITION <=> "" THEN
13 SELECT "Partition table not is exist" AS "*****ERROR*****";
14 LEAVE L_END;
15 END IF;
16
17 # 根据时间设置要创建的分区的名称
18 SELECT concat('p',DATE_FORMAT(DATE_ADD(NOW(),INTERVAL 1 MONTH),'%Y%m')) INTO next_p_name;
19
20 # 判断要创建的分区是否存在
21 IF ISEXIST_PARTITION = next_p_name THEN
22 SELECT concat("Partition(",next_p_name,") is exist") AS "*****INFO*****";
23 LEAVE L_END;
24 END IF;
25
26 # 最近一个分区的设置的最大值(右边界)
27 SELECT partition_description INTO MAX_PARTITION_DESCRIPTION FROM information_schema.PARTITIONS WHERE TABLE_SCHEMA = databaseName AND TABLE_NAME = tableName ORDER BY partition_description DESC LIMIT 1;
28
29 IF MAX_PARTITION_DESCRIPTION <=> "" THEN
30 SELECT "Partition table is error" AS "*****ERROR*****";
31 LEAVE L_END;
32 END IF;
33
34 # 创建新的分区
35 # 1.设置新的分区的右边界值
36 SET P_DESCRIPTION = TO_DAYS(DATE_FORMAT(DATE_ADD(NOW(),INTERVAL 2 MONTH),'%Y%m01'));
37 # 2.拼接新增分区的SQL语句
38 SET @S=CONCAT('ALTER TABLE ',tableName,' ADD PARTITION (PARTITION ',next_p_name,' VALUES LESS THAN (',P_DESCRIPTION,'))');
39 SELECT @S;
40 # 3.使用预处理执行SQL
41 # ------------------------------------------------------------------------------------------
42 # 语法:语法
43 #     PREPARE statement_name FROM sql_text /*定义*/
44 #     EXECUTE statement_name [USING variable [,variable...]] /*执行预处理语句*/
45 #     DEALLOCATE PREPARE statement_name /*删除定义*/
46 # ------------------------------------------------------------------------------------------
47 PREPARE stmt2 FROM @S;
48 EXECUTE stmt2;
49 DEALLOCATE PREPARE stmt2;
50
51 END L_END

-----------------------------------------------------------------------

二.定时事件创建

转载于:https://www.cnblogs.com/xpyan/p/4253703.html

MYSQL定时创建表分区相关推荐

  1. mysql 删除创建表分区_创建,增加,删除mysql表分区

    1.测试添加分区和删除分区 ###添加删除range分区 (1)创建一个分区: CREATE TABLE titles ( emp_no      INT NOT NULL, title        ...

  2. mysql创建表分区详细介绍及示例

    mysql创建表分区详细介绍及示例 1. 基本概念 1.1 什么是表分区? 1.2 表分区与分表的区别 1.3 表分区有什么好处? 1.4 分区表的限制因素 2. 如何判断当前MySQL是否支持分区? ...

  3. mysql创建表分区

    文章目录 创建表分区 创建批量查询测试数据的存储过程 创建表分区 注意:创建分区个数最好是质数 DROP TABLE IF EXISTS `mg_zz_feature`; CREATE TABLE m ...

  4. R操作MySQL数据库创建表、删除表、增删改查(CRUD)

    R操作MySQL数据库创建表.删除表.增删改查(CRUD) 关系数据中的数据是按照一定范式去存储的.当我们需要非常高级和复杂的Sql查询就可以使用关系数据库的数据资产.不光java和python可以容 ...

  5. mysql中创建表时提示 no database selected

    用习惯了oracle或者sqlserver的界面形式 当用到mysql时创建表时往往就会忘记添加表空间这个前提. 在一个用户下面可建多个表空间 使用语句 create database  your_d ...

  6. MySQL之创建表以及数据库增删改操作

    MySQL之创建表 创建数据表 create table table_name (column_name column_type); 创建Author.Article.ArticleDetail三张表 ...

  7. python Django 连接mysql数据库创建表详细全过程

    python Django 连接mysql数据库创建表详细全过程 1,在数据库中新建一个要连接的数据库(在cmd命令行里登录数据库进行创建创建) mysql -u root -p**+密码** cre ...

  8. MySQL数据库分表分区

    防伪码:当你终于沉默,成熟才刚刚开始. 为什么要分表和分区? 我们的数据库数据越来越大,随之而来的是单个表中数据太多.以至于查询书读变慢,而且 由于表的锁机制导致应用操作也搜到严重影响,出现了数据库性 ...

  9. mysql技术分享--表分区实现

    分区表 分区概念 分区功能并不是在存储引擎层完成的,因此不止有InnoDB存储引擎支持分区,常见的存储引擎MyISAM,NDB等都支持.但是也并不是所有存储引擎都支持,比如CSV,FEDERATED, ...

最新文章

  1. C++ 虚拟析构函数
  2. phpcms:八、show.html
  3. C# ASP.NET MVC 配置允许跨域访问
  4. awx文件_如何在Minishift上运行AWX
  5. 原来,我们的时间这样被科技巨头们瓜分(转)
  6. 使用C#调用Java带MIME附件WebService方法的初步设想
  7. Linux下的基本操作
  8. 剑指offer之扑克牌的顺子
  9. MMC-HVDC仿真模型,pscad柔性直流输电仿真mmc仿真模型,双端mmc模型,MMC为21电平NLM和均压控制
  10. python 生成式 生成器
  11. cad看图软件看图软件哪个好?
  12. 详解各种光学仪器成像原理
  13. win、linux环境下JAVA+GDAL部署,jar包启动,相关描述,问题解决
  14. JavaSE 知识学习
  15. js如何让段落首行缩进2个字符
  16. Importance Weighted Adversarial Nets for Partial Domain Adaptation学习笔记
  17. git commit 遇到 “#modified: xxx/xxx (modified content)”问题的解决
  18. OSChina 周三乱弹 ——新技能get 如何机智的关注大胸妹子。
  19. LeetCode报错:Line 923: Char 9: runtime error: reference binding to null pointer of type ‘std::__cxx11:
  20. 用ror开发的无忧换书网,大家看看给点意见

热门文章

  1. 汽车上有哪些很难发现却非常实用的配置?
  2. 过本命年有什么讲究吗?
  3. 私域经济运营能力最关键的三个指标
  4. 做生意、做营销常犯的10个错误和对策
  5. 搭建私域流量池实施落地——四大运营步骤
  6. 使用Oraclize让智能合约调用外部数据
  7. Build a simple Ethereum + IPFS+ React.js DApp.
  8. java中怎么声明常量_如何在Java中声明一个常量
  9. ssis lookup_SSIS中的LOOKUP转换概述
  10. sql server 事务_SQL Server事务概述