MySQL 是一款常用的關系型數據庫管理系統,它支持多種索引類型以優化查詢性能。在 MySQL 中,表可以有不同類型的索引,本文將介紹 MySQL 表中的主鍵索引、唯一索引、全文索引和普通索引。
主鍵索引
CREATE TABLE user ( id INT(11) NOT NULL AUTO_INCREMENT, username VARCHAR(50) NOT NULL, password VARCHAR(50) NOT NULL, PRIMARY KEY (id) );
主鍵索引是一種特殊的索引類型,其作用是保證表中的每條記錄都有唯一標識。主鍵索引要求表中的主鍵列不允許 NULL 值,并且每個值都必須唯一。在 MySQL 中,主鍵索引可以使用 PRIMARY KEY 關鍵字來定義。
唯一索引
CREATE TABLE user ( id INT(11) NOT NULL AUTO_INCREMENT, username VARCHAR(50) UNIQUE NOT NULL, password VARCHAR(50) NOT NULL );
唯一索引也要求表中的每個值都必須唯一,但是允許 NULL 值。唯一索引可以用來加速查詢,同時保證數據的一致性。在 MySQL 中,可以使用 UNIQUE 關鍵字來創建唯一索引。
全文索引
CREATE TABLE post ( id INT(11) NOT NULL, title VARCHAR(200) NOT NULL, content TEXT NOT NULL, FULLTEXT (title, content) );
全文索引可以加速對表中文本內容的搜索。在 MySQL 中,全文索引針對 TEXT 和 VARCHAR 類型的列,通過對內容進行分詞,提高搜索結果的準確性。在創建表或修改表時,可以使用 FULLTEXT 關鍵字來創建全文索引。
普通索引
CREATE TABLE user ( id INT(11) NOT NULL AUTO_INCREMENT, username VARCHAR(50) NOT NULL, password VARCHAR(50) NOT NULL, INDEX (username) );
普通索引是最基本的索引類型,用來提高查詢速度。可以對單個或多個列使用普通索引,可以使用 INDEX 或 KEY 關鍵字來創建普通索引。
以上是 MySQL 表中的四種索引類型。在實際開發中,應該根據數據量和查詢需求來選擇合適的索引類型,以提高查詢性能。