MySQL中的索引分為聚簇索引和輔助索引,聚簇索引在表中只能有一個,而輔助索引可以有多個。那么,哪些索引是聚簇索引呢?
1. 主鍵索引 在創建表時,如果設置了主鍵,則主鍵索引就是聚簇索引。主鍵是一個唯一的標識符,用于快速查找和引用表中特定的記錄。因為主鍵是唯一的并且非空,所以在建立主鍵索引時,聚簇索引的鍵值是唯一的。 CREATE TABLE student ( id INT(11) NOT NULL, name VARCHAR(20) NOT NULL, age INT(3), PRIMARY KEY (id) ) ENGINE=InnoDB; 2. 唯一索引 唯一索引也可以作為聚簇索引。唯一索引保證表中每個記錄的索引列值都是唯一的。因為唯一索引的值是唯一的,所以聚簇索引的鍵值也是唯一的,就能快速查找和引用表中特定的記錄。 CREATE TABLE student ( id INT(11) NOT NULL, name VARCHAR(20) NOT NULL, age INT(3), UNIQUE KEY uk_id (id) ) ENGINE=InnoDB; 3. 包含主鍵或唯一索引的非空索引 如果創建了一個非空索引,該索引的所有鍵值都不為NULL,而且包含主鍵或唯一索引的鍵值,那么該索引就是聚簇索引。 CREATE TABLE student ( id INT(11) NOT NULL, name VARCHAR(20) NOT NULL, age INT(3), UNIQUE KEY uk_id (id), INDEX idx_age_name (age, name) ) ENGINE=InnoDB;
在使用MySQL時,了解聚簇索引的相關知識是非常重要的,因為它能幫助我們更快地進行數據庫查詢和優化。當我們創建表和定義索引時,務必注意這些索引是否是聚簇索引。