如何給 MySQL 表添加索引?添加索引的語法是什么?添加索引時需要考慮哪些因素(如字段類型、查詢頻率、索引選擇性)?
給 MySQL 表添加索引需根據業務需求選擇合適的索引類型,不同類型的索引語法不同,同時需綜合評估字段特性、查詢模式等因素,避免無效或過度索引。
一、添加索引的語法(按索引類型分類)
MySQL 支持多種索引類型,核心包括普通索引、唯一索引、主鍵索引、聯合索引、前綴索引和全文索引,不同類型的語法需針對性使用,以下是具體示例(以 “user 表” 為例,表結構含 id、username、phone、age、create_time 字段):
-
普通索引(最基礎,無唯一性約束)
用于加速普通查詢,無特殊約束。語法有兩種:- 直接創建:
CREATE INDEX idx_user_age ON user(age);
- ALTER 語句添加:
ALTER TABLE user ADD INDEX idx_user_age(age);
- 直接創建:
-
唯一索引(字段值唯一,允許 NULL)
適用于需保證字段唯一性的場景(如手機號),避免重復數據。
語法:CREATE UNIQUE INDEX idx_user_phone ON user(phone);
若插入重復 phone 值,MySQL 會拋出 “Duplic