mysql如何查詢索引狀態?

2020-10-07 15:00:24

mysql查詢索引狀態的方法:通過「SHOW INDEX」語句,語法格式「SHOW INDEX FROM <表名> [ FROM <資料庫名>]」;通過該語句可以檢視索引的名稱、是否是唯一索引、欄位在索引中的位置,定義索引的列欄位名等等。

索引建立完成後,可以利用 SQL 語句檢視已經存在的索引。在 MySQL 中,可以使用 SHOW INDEX 語句檢視表中建立的索引。

檢視索引的語法格式如下:

SHOW INDEX FROM <表名> [ FROM <資料庫名>]

語法說明如下:

  • <表名>:指定需要檢視索引的資料表名。

  • <資料庫名>:指定需要檢視索引的資料表所在的資料庫,可省略。比如,SHOW INDEX FROM student FROM test; 語句表示檢視 test 資料庫中 student 資料表的索引。

範例

SQL 語句和執行結果如下所示。

mysql> SHOW INDEX FROM tb_stu_info2\G
*************************** 1. row ***************************
        Table: tb_stu_info2
   Non_unique: 0
     Key_name: height
 Seq_in_index: 1
  Column_name: height
    Collation: A
  Cardinality: 0
     Sub_part: NULL
       Packed: NULL
         Null: YES
   Index_type: BTREE
      Comment:
Index_comment:
1 row in set (0.03 sec)

其中各主要引數說明如下:

引數說明
Table表示建立索引的資料表名,這裡是 tb_stu_info2 資料表。
Non_unique表示該索引是否是唯一索引。若不是唯一索引,則該列的值為 1;若是唯一索引,則該列的值為 0。
Key_name表示索引的名稱。
Seq_in_index表示該列在索引中的位置,如果索引是單列的,則該列的值為 1;如果索引是組合索引,則該列的值為每列在索引定義中的順序。
Column_name表示定義索引的列欄位。
Collation表示列以何種順序儲存在索引中。在 MySQL 中,升序顯示值「A」(升序),若顯示為 NULL,則表示無分類。
Cardinality索引中唯一值數目的估計值。基數根據被儲存為整數的統計資料計數,所以即使對於小型表,該值也沒有必要是精確的。基數越大,當進行聯合時,MySQL 使用該索引的機會就越大。
Sub_part表示列中被編入索引的字元的數量。若列只是部分被編入索引,則該列的值為被編入索引的字元的數目;若整列被編入索引,則該列的值為 NULL。
Packed指示關鍵字如何被壓縮。若沒有被壓縮,值為 NULL。
Null用於顯示索引列中是否包含 NULL。若列含有 NULL,該列的值為 YES。若沒有,則該列的值為 NO。
Index_type顯示索引使用的型別和方法(BTREE、FULLTEXT、HASH、RTREE)。
Comment顯示評註。

推薦教學:

以上就是mysql如何查詢索引狀態?的詳細內容,更多請關注TW511.COM其它相關文章!