1月18
大家都知道删除分区的语句如下:
ALTER TABLE '表名' DROP PARTITION '分区名' ; 但是这样的话只能一个个分区去删除,而且删除分区同时会把数据也给删除掉了,那么mysql删除表的所有分区如何操作呢?
只要使用ALTER TABLE 表名 REMOVE PARTITIONING 就可以删除所有分区,但数据不会被删除。
查询指定表的分区信息以及每个分区的行数
SELECT PARTITION_NAME,TABLE_ROWS
FROM INFORMATION_SCHEMA.PARTITIONS
WHERE TABLE_NAME = '表名';
SELECT
PARTITION_NAME,PARTITION_DESCRIPTION,
FROM_UNIXTIME(PARTITION_DESCRIPTION,'%Y-%m-%d') EXPIRYDATE,TABLE_ROWS
FROM
INFORMATION_SCHEMA.PARTITIONS where TABLE_NAME ='表名';
来源:Heck's Blog
地址:https://www.heckjj.com/post/583/
转载时须以链接形式注明作者和原始出处及本声明,否则将追究法律责任,谢谢配合!
ALTER TABLE '表名' DROP PARTITION '分区名' ; 但是这样的话只能一个个分区去删除,而且删除分区同时会把数据也给删除掉了,那么mysql删除表的所有分区如何操作呢?
只要使用ALTER TABLE 表名 REMOVE PARTITIONING 就可以删除所有分区,但数据不会被删除。
查询指定表的分区信息以及每个分区的行数
SELECT PARTITION_NAME,TABLE_ROWS
FROM INFORMATION_SCHEMA.PARTITIONS
WHERE TABLE_NAME = '表名';
SELECT
PARTITION_NAME,PARTITION_DESCRIPTION,
FROM_UNIXTIME(PARTITION_DESCRIPTION,'%Y-%m-%d') EXPIRYDATE,TABLE_ROWS
FROM
INFORMATION_SCHEMA.PARTITIONS where TABLE_NAME ='表名';
来源:Heck's Blog
地址:https://www.heckjj.com/post/583/
转载时须以链接形式注明作者和原始出处及本声明,否则将追究法律责任,谢谢配合!