แสดงรายการดัชนี (Indexes) ของตารางด้วย SHOW INDEX
คำสั่ง SHOW INDEX FROM table_name (หรือ SHOW KEYS) แสดงข้อมูลดัชนีทั้งหมดของตาราง รวมถึง Primary Key, Unique, Index ทั่วไป, Fulltext, Spatial
ตัวอย่างสร้างตารางและสร้าง Index
CREATE TABLE DemoTable (
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
FirstName VARCHAR(20),
LastName VARCHAR(20)
);
CREATE INDEX idx_firstname ON DemoTable (Id, FirstName);
คำสั่งดู Index
SHOW INDEX FROM DemoTable;
ผลลัพธ์
+--------------+------------+--------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+ | Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible | +--------------+------------+--------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+ | DemoTable | 0 | PRIMARY | 1 | Id | A | 0 | NULL | NULL | | BTREE | | | YES | | DemoTable | 1 | idx_firstname| 1 | Id | A | 0 | NULL | NULL | | BTREE | | | YES | | DemoTable | 1 | idx_firstname| 2 | FirstName | A | 0 | NULL | NULL | YES | BTREE | | | YES | +--------------+------------+--------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+
คอลัมน์สำคัญ:
| คอลัมน์ | ความหมาย |
|---|---|
| Table | ชื่อตาราง |
| Non_unique | 0 = Unique (Primary/Unique), 1 = Non-unique (Index ปกติ) |
| Key_name | ชื่อดัชนี (PRIMARY สำหรับ Primary Key) |
| Seq_in_index | ลำดับคอลัมน์ในดัชนี (1, 2, 3... สำหรับ Composite Index) |
| Column_name | ชื่อคอลัมน์ |
| Collation | A = Ascending, NULL = ไม่จัดเรียง (Hash/Fulltext) |
| Cardinality | จำนวนค่าที่ไม่ซ้ำกันประมาณ (สำหรับ Optimizer) |
| Index_type | BTREE, HASH, FULLTEXT, SPATIAL |
| Visible | YES/NO (MySQL 8.0+ Invisible Indexes) |
คำสั่งอื่นๆ ที่เกี่ยวข้อง:
SHOW CREATE TABLE DemoTable;ดูคำสั่งสร้างตารางรวม Index ทั้งหมดEXPLAIN SELECT ...ดูว่า Query ใช้ Index ไหนANALYZE TABLE DemoTable;อัปเดต Cardinality (สถิติ) ให้แม่นยำ