查询方法:1、使用“show create table 表名”语句;2、使用“show table 表名”语句;3、通过查询“information_schema.partitions”表来查看表具有哪几个分区、分区方法、分区中数据的记录。
本教程操作环境:windows7系统、mysql8版本、Dell G3电脑。
介绍获取MySQL分区表信息的几种方法。
1. show create table 表名
可以查看创建分区表的create语句。
/*!…*/ 是一种特殊的注释,其他的数据库产品当然不会执行。mysql特殊处理,会选择性的执行。可以认为是:预编译中的条件编译。特别注意 50100,它表示5.01.00 版本或者更高的版本,才执行。
2. show table status
可以查看表是不是分区表。
3. 查看information_schema.partitions表
SELECT PARTITION_NAME,PARTITION_METHOD,PARTITION_EXPRESSION,PARTITION_DESCRIPTION, TABLE_ROWS,SUBPARTITION_NAME,SUBPARTITION_METHOD,SUBPARTITION_EXPRESSION FROM information_schema.PARTITIONS WHERE TABLE_SCHEMA=SCHEMA() AND TABLE_NAME='TABLE_NAME';
可以查看表具有哪几个分区、分区的方法、分区中数据的记录数等信息,甚至还包括子分区的信息。
4. explain select 或 explain partitions select语句
通过此语句来显示扫描哪些分区,及它们是如何使用的。
explain partitions select * from tb_sub2 where purchased='1989-01-01'; explain select * from tb_sub2 where purchased='1989-01-01';
上述2条语句的输出结果是一样的。
【