1.创建表和表分区

DROP TABLE zy.time_partition;

CREATE TABLE zy.time_partition

(TIME DATETIME NOT NULL )ENGINE=INNODB DEFAULT CHARSET=utf8

PARTITION BY RANGE(TO_DAYS(TIME))

(PARTITION p20171031 VALUES LESS THAN (TO_DAYS('2017-11-01')),

PARTITION p20171101 VALUES LESS THAN (TO_DAYS('2017-11-02'))

#DATA DIRECTORY '/data/2010-07-16'

#INDEX DIRECTORY '/data/2010-07-16'

);

2.创建每日新增表分区的存储过程

DROP PROCEDURE IF EXISTS zy.time_partition_procedure;

DELIMITER $$

CREATE PROCEDURE zy.time_partition_procedure()

BEGIN

select replace(b.partition_name,'p','') into @in_date from information_schema.PARTITIONS b where b.table_name ='time_partition' order by b.partition_ordinal_position desc limit 1;

set @max_date= DATE_ADD(@in_date,INTERVAL 1 DAY)+0 ;

set @date= DATE_ADD(@in_date,INTERVAL 1 DAY)+0 ;

SET @sql=CONCAT('ALTER TABLE zy.time_partition add PARTITION (PARTITION p',@date,' VALUES LESS THAN (TO_DAYS(''',to_days(@max_date1),''')));');

SELECT @sql;

PREPARE strsql FROM @sql;    #预执行sql

EXECUTE strsql;           #执行sql

DEALLOCATE PREPARE strsql;   #释放sql

COMMIT;

END;

3.创建每天执行存储的事件

delimiter $$

create event zy.time_partition_event

on schedule every 1 day start date_add(curent()+1,interval 3 hour)

on completion preserve

enable

do

begin

call zy.time_partition_procedure();

end;

4.

#查看是否支持表分区

SHOW VARIABLES LIKE '%partition%'

#查询表的所有分区

SELECT * FROM information_schema.PARTITIONS a WHERE a.table_name IN ('time_partition')ORDER BY partition_ordinal_position DESC;

#新增表分区

ALTER TABLE zy.time_partition ADD PARTITION (PARTITION p20171102 VALUES LESS THAN (TO_DAYS('2017-11-02')));

#删除表的分区

ALTER TABLE zy.time_partition  DROP PARTITION p20171101;

转载于:https://blog.51cto.com/12182612/1979150

mysql 每日新增表分区相关推荐

  1. MYSQL定时创建表分区

    MYSQL定时创建表分区 一.存储过程-表分区 ----------------------------------------------------------------- 需求: 每月创建一个 ...

  2. MySQL数据库分表分区

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

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

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

  4. mysql数据的表分区一

    当mysql中医个表的总记录数超过了1000W,会出现性能大幅度下降的情况,单性能下降的比率由系统的架构.应用程序.数据库索引.服务器硬件等多种因素而定.数据库多达上亿的数据量,分表之后的单个表 也已 ...

  5. mysql数据的表分区二

    上一篇解释了 mysql的表分区好处和集中常用的表分区方法 和 RANGE分区的使用 接下来我们说说 LIST分区是怎么做的. 例子: 假如创建了一个如下的一个表,该表保存有20家店的志愿记录,在这2 ...

  6. MySQL优化之表分区

    一.前言 MySQL数据库作为一个程序员,我想大家肯定是非常的熟悉的,并且我们在面试中也经常被问到MySQL相关的知识点,其中MySQL的优化这个问题肯定是中高级面试跑不掉的问题.大部分同学都知道进行 ...

  7. mysql 分库分表分区总结

    Mysql目录结构 一个库一个目录 MyISAM引擎 InnoDB引擎 分库分表分区总结 对于分区分表 都可以进行横向(按表字段分),纵向分(按数据行分),此文暂时值考虑横向分. 对于分库:分库 分区 ...

  8. Mysql PARTITION 数据表分区技术日期

    参考:http://www.sunzhenghua.com/mysql-myisam-innodb-partition-range-list-hash 在这一章节里, 我们来了解下 Mysql 中的分 ...

  9. MySQL 8.0 表分区

    一.开发环境及软件 (1)win10家庭中文版 (2)Mysql8.0.23 (3)Navicat for MySQL 二.相关知识 参考mysql官网:https://dev.mysql.com/d ...

最新文章

  1. 如何提升微服务的幸福感
  2. MySQL主从(MySQL proxy Lua读写分离设置,一主多从同步配置,分库分表方案)
  3. 【前端】layui日期控件点击一闪而过解决方法
  4. php点击按钮做查找,点击按钮后运行PHP功能?
  5. 10 Redis 主从复制
  6. 关于函数在C语言和Python语言中的表示
  7. 【4】搭建Docker私服harbor
  8. LVM 逻辑卷管理精讲
  9. python: glob模块
  10. 机器学习笔记——感知机理解(自行取用,并不一定适合每个人)
  11. 得到 jason中 string 的值_简单高性能的Json解析器: Jason
  12. linux防火墙_专业的linux web应用防火墙国内排名推荐
  13. 《一舞醉红尘,一笑歌岁月》
  14. 华为手机8.0.0怎么找到云相册_华为手机里的相册照片删除了怎么找回?
  15. 第三方对接-支付宝支付
  16. 思齐什么意思_思齐的寓意
  17. PowerBI数据处理-聚合
  18. 【数据中心】容灾备份
  19. Ubuntu18.04 仿mac美化
  20. 从BAT到ATM,蚂蚁金服的逻辑和风险

热门文章

  1. jenkins配置节点为windows代理
  2. 这真有点“凶”... 开发转测试,薪资不降反升
  3. python+selenium自动化测试-Windows环境搭建
  4. Android跟踪进度条,android快递跟踪进度条
  5. b丅151组成的充电器电路_一文读懂uc3842组成的开关电源电路
  6. Java 压缩解压缩 第三方组件,推荐一个强大的Java开发工具类库!
  7. java方法不写访问权限_【JAVA小白】 问关于访问权限的问题,写接口遇到错误
  8. 1、css引入的方式有哪些?_低氮燃烧技术都有哪些?
  9. java poi无法读取word_poi,word_POI读取word内容的疑问,poi,word,java - phpStudy
  10. 类特征注意机制融合Deeplabv3+语义分割