首页 > 其他分享 >公共查询

公共查询

时间:2023-05-19 19:56:35浏览次数:33  
标签:name create partition AIR 公共 table 查询 ORDER

# 查看分区数据
SELECT table_name,partition_name,partition_description,from_days(partition_description),table_rows
FROM information_schema.PARTITIONS
WHERE table_name='AIR_ORDER';

# 分析分区
ALTER TABLE AIR_ORDER ANALYZE PARTITION issue2022;

# 
SHOW CREATE TABLE AIR_ORDER;

select * from AIR_ORDER partition (issue202301);

EXPLAIN SELECT * FROM AIR_ORDER WHERE create_time >= '2023-03-26' AND create_time <='2023-04-15';

# 创建存储过程
DROP PROCEDURE IF EXISTS p_partition_month;
create PROCEDURE p_partition_month()
BEGIN
    DECLARE v_sysdate DATE;   #当前日期
    DECLARE v_mindate DATETIME; #最小日期
    DECLARE v_maxdate DATETIME; #最大日期
    DECLARE v_pt VARCHAR(20); #分区名称
    DECLARE v_maxval int; # 分区最大日期天数
    DECLARE add_sql VARCHAR(256); # 新增分区sql
    DECLARE del_sql VARCHAR(256); # 删除分区sql
    DECLARE i INT;

    SELECT MAX(CAST(FROM_DAYS(REPLACE(partition_description,'''','')) AS DATE)) AS val
    INTO  v_maxdate
    FROM  information_schema.`PARTITIONS`
    WHERE table_name='AIR_ORDER' AND table_schema='tieniu_dev';  # 读取数据库实例表当前分区名称中最大值
    SET v_sysdate = SYSDATE(); #当前日期

    select v_maxdate;#
    select v_sysdate;

    WHILE v_maxdate<(v_sysdate+INTERVAL 3 MONTH) DO
            SET v_pt = DATE_FORMAT(v_maxdate, '%Y%m');#将要创建的分区名称
            SET v_maxval=TO_DAYS(v_maxdate+ INTERVAL 1 MONTH);# 设置分区最大值
            SET add_sql =  CONCAT('alter table AIR_ORDER add partition (partition p', v_pt, ' values less than(',v_maxval,'))');
            SET @sql=add_sql; #存储于会话变量
            select add_sql;
            PREPARE stmt FROM @sql;
            EXECUTE stmt;
            DEALLOCATE PREPARE stmt;
            SET v_maxdate = v_maxdate + INTERVAL 1 MONTH;
        END WHILE;


END
;

# 执行
call p_partition_month();

# 创建定时任务事件,每月月底 23 点执行存储过程 
# 创建定时事件
CREATE EVENT e_partition
    ON SCHEDULE EVERY 1 MONTH STARTS DATE_ADD(DATE_ADD(last_day(curdate()), INTERVAL 1 MONTH),INTERVAL 23 HOUR)
    ON COMPLETION PRESERVE ENABLE
    DO CALL p_partition_month();

# 删除定时事件
drop event e_partition;

标签:name,create,partition,AIR,公共,table,查询,ORDER
From: https://www.cnblogs.com/ddgo/p/17416119.html

相关文章

  • 开发手记:Redis中zset查询的range
    问题描述从Redis中查询关注列表(使用zset存储),但是查询到的记录总是比应有的记录数少一个Set<Integer>targetIds=redisTemplate.opsForZSet().reverseRange(key,offset,offset+limit-1);调试于是去检查Redis中置顶键zset中的所有数据,发现自己对zset相关命令似乎并不太......
  • Mybatis查询
    查询查询的数据为单条实体类使用实体类进行接受即可,或者使用list,map接口均可.后面两者比较浪费使用实体类接受mapper接口:UserselectUserById(intuserid);映射文件:使用实体类<!--第二个一致,对应方法名UserselectUserById(intuserid);--><selec......
  • js 使用 eval 函数优化条件查询
    我们在写代码的使用,经常会遇到ifelse很长很长的代码,这种要怎么优化,一直是仁者见仁智者见智的我说下我的优化方案原始代码例如:if(income<=10000){ returnincome*0.365;}elseif(income<=30000){ return(income-10000)*0.2+35600;}elseif(income<=60000)......
  • 12-DSL查询语法-精准查询
    精确查询一般是查找keyword、数值、日期、boolean等类型字段。不会对搜索条件分词。常见的有:(1)term:根据词条精确值查询 (2) range:根据值的范围查询term查询因为精确查询的字段搜是不分词的字段,因此查询的条件也必须是不分词的词条。查询时,用户输入的内容跟自动值完......
  • SQL server 备份job堵塞查询
    SELECTreq.session_id,database_name=db_name(req.database_id),req.status,req.blocking_session_id,req.command,[sql_text]=Substring(txt.TEXT,(req.statement_start_offset/2)+1,((CASEreq.statement_end_offsetWHEN-1THENDatalength(txt.TEXT)......
  • react-query-builder查询构建器中文文档
    简介react-query-builder是一个React组件库,用于构建可配置的查询构建器。使用react-query-builder,您可以轻松地构建复杂的查询表单,使用户能够以直观的方式构建和执行查询。以下是一些常见的用例:构建高级搜索表单,允许用户根据不同的条件搜索数据。在数据可视化应用程序中使用......
  • C++实现查询本机信息并且上报
    业务需求共享文件夹、盘会导致系统安全性下降,故IT部门需要搜集公司中每台电脑的共享情况,并且进行上报关键字WMI查询、Get请求、C++网络库mongoose前置需要1、简单C++语法知识2、mongoose库的导入3、C++项目的启动代码复制并不能直接使用,需导入mongoose库完整github项目代码......
  • SqlServer查询锁表及解锁
    --查询锁表进程selectrequest_session_idspid,OBJECT_NAME(resource_associated_entity_id)tableNamefromsys.dm_tran_lockswhereresource_type='OBJECT'--解锁进程declare@spidintSet@spid=162--锁表进程declare@sqlvarchar(1000)set@sql='kill......
  • es笔记五之term-level的查询操作
    本文首发于公众号:Hunter后端原文链接:es笔记五之term-level的查询操作官方文档上写的是term-levelqueries,表义为基于准确值的对文档的查询,可以理解为对keyword类型或者text类型分词为keyword的字段进行term形式的精确查找。以下是本篇笔记目录:是否存在值前缀搜索......
  • Oracle从入门到精通-合并查询、添加修改删除数据
    6Oracle表的管理6.5oracle表的管理-表查询(重点)6.5.5Oracle表复杂查询--合并查询·合并查询有时在实际应用中,为了合并多个select语句的结果,可以使用集合操作符号union,unionall,intersect,minus1)union该操作符用于取得两个结果集的并集,当使用该操作符时,=selectename,sal,j......