zoukankan      html  css  js  c++  java
  • MySQL分区表操作

    -- 查看分区表信息
    SHOW CREATE TABLE table1;
    SHOW TABLE STATUS LIKE 'table1';
    
    -- 查看各分区信息
    SELECT TABLE_NAME,PARTITION_NAME,PARTITION_EXPRESSION,PARTITION_DESCRIPTION,TABLE_ROWS,AVG_ROW_LENGTH/1024 as 'AVG_ROW_LENGTH (KB)',DATA_LENGTH/(1024*1024) as 'DATA_LENGTH (MB)',MAX_DATA_LENGTH/(1024*1024*1024*1024) as 'MAX_DATA_LENGTH (TB)',INDEX_LENGTH/(1024*1024) as 'INDEX_LENGTH (MB)',UPDATE_TIME,CHECK_TIME
    FROM INFORMATION_SCHEMA.PARTITIONS
    WHERE TABLE_NAME='table1' AND TABLE_SCHEMA='db1';
    
    -- 生成truncate/drop 3个月前分区的SQL  以日期分区类型, 其它的如按周分区的, 修改对应的条件即可
    SELECT concat('alter table ',TABLE_NAME,' truncate partition ',PARTITION_NAME,';') as '执行删除分区的SQL', TABLE_NAME,PARTITION_NAME,PARTITION_EXPRESSION,PARTITION_DESCRIPTION,TABLE_ROWS,AVG_ROW_LENGTH/1024 as 'AVG_ROW_LENGTH (KB)',DATA_LENGTH/(1024*1024) as 'DATA_LENGTH (MB)',MAX_DATA_LENGTH/(1024*1024*1024*1024) as 'MAX_DATA_LENGTH (TB)',INDEX_LENGTH/(1024*1024) as 'INDEX_LENGTH (MB)',UPDATE_TIME,CHECK_TIME
    FROM INFORMATION_SCHEMA.PARTITIONS
    WHERE TABLE_NAME='table1' AND TABLE_SCHEMA='db1' 
    and STR_TO_DATE(SUBSTR(PARTITION_DESCRIPTION FROM 2 FOR 10),'%Y-%m-%d') BETWEEN '2011-10-01' and DATE_SUB(CURRENT_DATE,INTERVAL 3 MONTH);
  • 相关阅读:
    curl 设置超时时间
    allure 2
    shell 给文件每一行都添加指定字符串
    shell 文件的包含
    shell 求数组的平均值,求和,最大值,最小值
    shell 编写进度条
    shell 换行与不换行
    Linux常用命令简述--dirname与basename
    shell中脚本参数传递getopts
    Shell 中eval的用法
  • 原文地址:https://www.cnblogs.com/krisy/p/2793124.html
Copyright © 2011-2022 走看看