在MySQL中,索引是一種關(guān)鍵性能優(yōu)化手段,它可以提高查詢(xún)效率和數(shù)據(jù)檢索速度。MySQL中常用的四種索引類(lèi)型分別是:
1. PRIMARY KEY
CREATE TABLE table_name( id INT PRIMARY KEY, ... );
主鍵是一種特殊的唯一索引,在一個(gè)表中只能設(shè)置一個(gè)主鍵。它可以確保表的每一行都有一個(gè)唯一的標(biāo)識(shí)符,并且在創(chuàng)建表時(shí)定義的順序會(huì)影響主鍵的物理順序。
2. UNIQUE KEY
CREATE TABLE table_name( id INT, email VARCHAR(63) UNIQUE, ... );
唯一鍵確保表中的每個(gè)值都是唯一的,它可以包含空值。在一個(gè)表中可以有多個(gè)唯一鍵。一般來(lái)說(shuō),唯一鍵的效率和主鍵差不多。
3. INDEX
CREATE TABLE table_name( ... INDEX index_name (col1, col2, ...), ... );
普通索引是最基本的索引類(lèi)型,它不需要唯一性,可以包含重復(fù)值和空值。它可以包含一個(gè)或多個(gè)列,可以用來(lái)加速與單個(gè)列或多個(gè)列的WHERE子句匹配。
4. FULLTEXT
CREATE TABLE table_name( ... FULLTEXT index_name (col1, col2, ...), ... );
全文索引適用于文本比較長(zhǎng),并且需要對(duì)全文進(jìn)行搜索的列。全文索引可以對(duì)列中的單詞進(jìn)行分詞,并且可以忽略常用詞語(yǔ)和詞語(yǔ)的變形等。與普通索引不同,全文索引只能用于MyISAM表。