建立 testIndex 表,插入 1000 筆資料,其中一筆 i_testID=555, vc_Name='erquan'。查詢 SELECT * FROM testIndex WHERE vc_Name='erquan':若 vc_Name 有索引,MySQL 免掃描直接找到;否則需掃描 1000 次,索引可提升查詢速度 100 倍。
最基本索引,無限制。建立方式:
CREATE INDEX indexName ON tableName(tableColumns(length)); ALTER TABLE tableName ADD INDEX [indexName] ON (tableColumns(length)); CREATE TABLE tableName ([...], INDEX [indexName] (tableColumns(length)));
CHAR/VARCHAR 類型 length 可小於實際長度;BLOB/TEXT 必須指定 length。
索引欄位值必須唯一,允許空值。組合索引則組合值唯一。建立方式:
CREATE UNIQUE INDEX indexName ON tableName(tableColumns(length)); ALTER TABLE tableName ADD UNIQUE [indexName] ON (tableColumns(length)); CREATE TABLE tableName ([...], UNIQUE [indexName] (tableColumns(length)));