介紹獲取MySQL分區(qū)表信息的幾種方法。

1. show create table 表名
可以查看創(chuàng)建分區(qū)表的create語(yǔ)句。

/*!...*/ 是一種特殊的注釋,其他的數(shù)據(jù)庫(kù)產(chǎn)品當(dāng)然不會(huì)執(zhí)行。mysql特殊處理,會(huì)選擇性的執(zhí)行。可以認(rèn)為是:預(yù)編譯中的條件編譯。特別注意 50100,它表示5.01.00 版本或者更高的版本,才執(zhí)行。
2. show table status
可以查看表是不是分區(qū)表。

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';
可以查看表具有哪幾個(gè)分區(qū)、分區(qū)的方法、分區(qū)中數(shù)據(jù)的記錄數(shù)等信息,甚至還包括子分區(qū)的信息。

4. explain select 或 explain partitions select語(yǔ)句
通過此語(yǔ)句來顯示掃描哪些分區(qū),及它們是如何使用的。
explain partitions select * from tb_sub2 where purchased='1989-01-01';
explain select * from tb_sub2 where purchased='1989-01-01';
上述2條語(yǔ)句的輸出結(jié)果是一樣的。

對(duì)MySQL 有興趣的同學(xué),可以進(jìn)一步深入學(xué)習(xí)MySQL的基礎(chǔ)知識(shí)。