MySQL如何查詢表分區?
MySQL中的分區可以將一個大表分成若干個小表來存儲,有效地提高查詢效率和管理方便性。但我們如何知道一個MySQL表是否分區,以及具體被分成了多少個小表呢?接下來我們將介紹兩種查詢表分區的方法。
方法一:使用SHOW CREATE TABLE
首先登錄MySQL數據庫,并選擇要查詢的數據庫。然后使用“SHOW CREATE TABLE 表名”命令,該命令將顯示這個表的建表語句已經包括分區的定義。如果這個表沒有被分區,這個語句將不會顯示分區的定義。找到 PARTITIONED BY 關鍵字即可證明這張表被分區了,其后的內容即為具體的分區策略。
方法二:使用SHOW TABLE STATUS
同樣登錄MySQL數據庫,并選擇要查詢的數據庫。使用“SHOW TABLE STATUS LIKE "表名”命令。其中“LIKE”后面添加了“表名”的查詢條件,因此該命令會顯示這張表的基本信息以及一些統計數據。在這個返回結果中,“Engine”列的值應該為“InnoDB”,而“Comment”列的值則應該是分區策略,如“HASH”、“RANGE”、“LIST”等。這個策略即是表所使用的分區策略。而“Rows”列則是這張表的總行數。
總結
通過以上兩種方法,我們可以很方便地查詢MySQL表的分區情況,以及被分成多少個小表。如果這個表沒有被分區,則這兩個方法都可以正常執行,但是 SHOW CREATE TABLE 語句中的 PARTITION BY 字段為空;SHOW TABLE STATUS 的 Comment 字段顯示“無分區”或“未分區”。