返回顶部
首页 > 资讯 > 数据库 >mysql 每日新增表分区
  • 603
分享到

mysql 每日新增表分区

2024-04-02 19:04:59 603人浏览 泡泡鱼
摘要

1.创建表和表分区DROP TABLE zy.time_partition;CREATE TABLE zy.time_partition(TIME DATETIME NOT NULL )ENGINE

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;


您可能感兴趣的文档:

--结束END--

本文标题: mysql 每日新增表分区

本文链接: https://lsjlt.com/news/39355.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • mysql 每日新增表分区
    1.创建表和表分区DROP TABLE zy.time_partition;CREATE TABLE zy.time_partition(TIME DATETIME NOT NULL )ENGINE...
    99+
    2024-04-02
  • mysql新增分区
    在 MySQL 中,你可以使用 ALTER TABLE 语句来新增分区。 例如,假设你有一个名为 users 的表,并希望为它新增一个名为 p1 的分区,可以使用以下语句: ALTER TABLE users ADD PARTITI...
    99+
    2023-09-25
    mysql 数据库
  • mysql分区表:日期分区
    mysql分区表:日期分区 1.创建分区表2.查看分区3.添加分区4.存储过程:分区删除与创建5.事件定时6.触发器设计:子表每插入一行,总表获得一行7.创建索引8.添加枚举型字段 1.创建分区表 CREATE TAB...
    99+
    2023-08-21
    mysql 数据库
  • MySQL每天自动增加分区的实现
    有一个表tb_3a_huandan_detail,每天有300W左右的数据。查询太慢了,网上了解了一下,可以做表分区。由于数据较大,所以决定做定时任务每天执行存过自动进行分区。 1、在进行自动增加分区前一定得先对表手动分...
    99+
    2022-08-11
    MySQL自动增加分区 MySQL 增加分区
  • Oracle 分区表的新增、修改、删除、合并。普通表转分区表方法
    一. 分区表理论知识Oracle提供了分区技术以支持VLDB(Very Large DataBase)。分区表通过对分区列的判断,把分区列不同的记录,放到不同的分区中。分区完全对应用透明。Oracle的分区...
    99+
    2024-04-02
  • 怎样给Kafka新增分区
    目录给Kafka新增分区1、修改 topic 的分区2、迁移数据3、迁移4、验证Kafka分区原理机制分区结构分区优点分区策略根据分区策略实现消息的顺序消费默认分区策略源码总结给Ka...
    99+
    2022-12-27
    Kafka新增分区 Kafka分区 新增Kafka分区
  • mysql表怎么新增字段
    要在MySQL表中新增字段,可以使用ALTER TABLE语句。以下是一个示例: ALTER TABLE table_name AD...
    99+
    2024-04-02
  • 更新 MySQL 日期并增加一年?
    您可以使用 MySQL 的内置函数 date_add()。语法如下 -UPDATE yourTableName SET yourDateColumnName=DATE_ADD(yourDateColumnName,interval ...
    99+
    2023-10-22
  • 更新 MySQL 日期并增加一年
    要更新MySQL日期并增加一年,可以使用DATE_ADD函数。以下是一个示例查询:UPDATE your_tableSET your...
    99+
    2023-10-20
    MySQL
  • MySql之分区分表
    MySql之分区分表分表的概念分表:将一个大表按照一定的规则分解成多张具有独立存储空间的实体表,每个表都对应三个文件,MYD数据文件,.MYI索引文件,.frm表结构文件。这些表可以分布在同一块磁盘上,也可...
    99+
    2024-04-02
  • 达梦数据库 分区表如何定时自动新增和删除子分区
    下面为自动删除、创建分区子表的存储过程和维护分区表的测试示例: 1 、每月定时增加一个分区子表 create or replace procedure addpartition(sTable...
    99+
    2024-04-02
  • ORACLE11G 分区表新特性
    1.引用分区表 使子表使用父表的分区条件进行分区,而无需在子表中额外添加用于分区的列,造成数据逆规范化,造成空间浪费等问题。 参考实例: (1).创建主表 CREATE TAB...
    99+
    2024-04-02
  • mysql 分组后取每组最新数据
    统计业务情况下,需要分组取最新,下面记录两种mysql写法 方式一:使用 MAX() 函数来实现该功能 SELECT* FROMd_switch_heart WHEREcreate_t...
    99+
    2023-08-31
    sql
  • Oracle如何为分区表添加新分区
    要为分区表添加新分区,可以使用ALTER TABLE语句并指定ADD PARTITION子句。下面是一个示例: ALTER TABL...
    99+
    2024-04-20
    oracle
  • mysql分区及分表(一)
                                 ...
    99+
    2024-04-02
  • mysql分区及分表(二)
                                mysql...
    99+
    2024-04-02
  • mysql怎么增加表中新的列
    小编给大家分享一下mysql怎么增加表中新的列,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!mysql中可以使用“ALTER T...
    99+
    2024-04-02
  • mysql怎么自动增加分区
    本篇内容介绍了“mysql怎么自动增加分区”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!#!/bin/ba...
    99+
    2024-04-02
  • 详解MySQL分区表
    前言: 分区是一种表的设计模式,通俗地讲表分区是将一大表,根据条件分割成若干个小表。但是对于应用程序来讲,分区的表和没有分区的表是一样的。换句话来讲,分区对于应用是透明的,只是数据库对于数据的重新整理。本篇文章给大...
    99+
    2022-05-27
    mysql 分区 mysql 分区表
  • mysql分区表笔记
    mysql分区表    mysql分区表是一个独立的逻辑表,但是底层由多个物理字表组成。    对分区的请求,都会通过句柄对象转化成对存储引擎接口的调用。所以分区对于...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作