mysql 每日新增表分区
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 每日新增表分区相关推荐
- MYSQL定时创建表分区
MYSQL定时创建表分区 一.存储过程-表分区 ----------------------------------------------------------------- 需求: 每月创建一个 ...
- MySQL数据库分表分区
防伪码:当你终于沉默,成熟才刚刚开始. 为什么要分表和分区? 我们的数据库数据越来越大,随之而来的是单个表中数据太多.以至于查询书读变慢,而且 由于表的锁机制导致应用操作也搜到严重影响,出现了数据库性 ...
- mysql技术分享--表分区实现
分区表 分区概念 分区功能并不是在存储引擎层完成的,因此不止有InnoDB存储引擎支持分区,常见的存储引擎MyISAM,NDB等都支持.但是也并不是所有存储引擎都支持,比如CSV,FEDERATED, ...
- mysql数据的表分区一
当mysql中医个表的总记录数超过了1000W,会出现性能大幅度下降的情况,单性能下降的比率由系统的架构.应用程序.数据库索引.服务器硬件等多种因素而定.数据库多达上亿的数据量,分表之后的单个表 也已 ...
- mysql数据的表分区二
上一篇解释了 mysql的表分区好处和集中常用的表分区方法 和 RANGE分区的使用 接下来我们说说 LIST分区是怎么做的. 例子: 假如创建了一个如下的一个表,该表保存有20家店的志愿记录,在这2 ...
- MySQL优化之表分区
一.前言 MySQL数据库作为一个程序员,我想大家肯定是非常的熟悉的,并且我们在面试中也经常被问到MySQL相关的知识点,其中MySQL的优化这个问题肯定是中高级面试跑不掉的问题.大部分同学都知道进行 ...
- mysql 分库分表分区总结
Mysql目录结构 一个库一个目录 MyISAM引擎 InnoDB引擎 分库分表分区总结 对于分区分表 都可以进行横向(按表字段分),纵向分(按数据行分),此文暂时值考虑横向分. 对于分库:分库 分区 ...
- Mysql PARTITION 数据表分区技术日期
参考:http://www.sunzhenghua.com/mysql-myisam-innodb-partition-range-list-hash 在这一章节里, 我们来了解下 Mysql 中的分 ...
- MySQL 8.0 表分区
一.开发环境及软件 (1)win10家庭中文版 (2)Mysql8.0.23 (3)Navicat for MySQL 二.相关知识 参考mysql官网:https://dev.mysql.com/d ...
最新文章
- 如何提升微服务的幸福感
- MySQL主从(MySQL proxy Lua读写分离设置,一主多从同步配置,分库分表方案)
- 【前端】layui日期控件点击一闪而过解决方法
- php点击按钮做查找,点击按钮后运行PHP功能?
- 10 Redis 主从复制
- 关于函数在C语言和Python语言中的表示
- 【4】搭建Docker私服harbor
- LVM 逻辑卷管理精讲
- python: glob模块
- 机器学习笔记——感知机理解(自行取用,并不一定适合每个人)
- 得到 jason中 string 的值_简单高性能的Json解析器: Jason
- linux防火墙_专业的linux web应用防火墙国内排名推荐
- 《一舞醉红尘,一笑歌岁月》
- 华为手机8.0.0怎么找到云相册_华为手机里的相册照片删除了怎么找回?
- 第三方对接-支付宝支付
- 思齐什么意思_思齐的寓意
- PowerBI数据处理-聚合
- 【数据中心】容灾备份
- Ubuntu18.04 仿mac美化
- 从BAT到ATM,蚂蚁金服的逻辑和风险
热门文章
- jenkins配置节点为windows代理
- 这真有点“凶”... 开发转测试,薪资不降反升
- python+selenium自动化测试-Windows环境搭建
- Android跟踪进度条,android快递跟踪进度条
- b丅151组成的充电器电路_一文读懂uc3842组成的开关电源电路
- Java 压缩解压缩 第三方组件,推荐一个强大的Java开发工具类库!
- java方法不写访问权限_【JAVA小白】 问关于访问权限的问题,写接口遇到错误
- 1、css引入的方式有哪些?_低氮燃烧技术都有哪些?
- java poi无法读取word_poi,word_POI读取word内容的疑问,poi,word,java - phpStudy
- 类特征注意机制融合Deeplabv3+语义分割