介紹獲取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條語句的輸出結果是一樣的。
對MySQL 有興趣的同學,可以進一步深入學習MySQL的基礎知識。