首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL 索引類型速覽:四大核心類型與組合索引最左前綴原則

     編輯:MySQL 綜合教學

MySQL 索引類型速覽:四大核心類型與組合索引最左前綴原則

MySQL 索引是查詢優化的基石。本文精簡梳理四大核心索引類型定義、區別、共同點與組合索引最左前綴原則,適合快速查閱與面試複習。

一、四大核心索引類型

類型關鍵字特點允許 NULL典型場景
普通索引INDEX / KEY無約束,純加速查詢是高頻查詢欄位
唯一索引UNIQUE值唯一,業務級唯一性約束是身份證、手機號、郵箱
主鍵索引PRIMARY KEY特殊唯一索引,不允許 NULL,InnoDB 聚簇索引否表主鍵 (id)
全文索引FULLTEXT僅 MyISAM (5.6+ InnoDB 也支援),長文本搜尋是文章內容、評論搜尋

二、所有索引的共同點

  1. 建立在一個或多個欄位上。
  2. 除全文索引外,查詢時必須從索引第一個欄位開始匹配,依序向後,中斷則後續失效。

三、組合索引最左前綴原則實例

組合索引 INDEX idx_a_b_c (a, b, c):

  • ✅ WHERE a = 1
  • ✅ WHERE a = 1 AND b = 2
  • ✅ WHERE a = 1 AND b = 2 AND c = 3
  • ❌ WHERE b = 2
  • ❌ WHERE b = 2 AND c = 3
  • ❌ WHERE c = 3

等價於隱式建立了三個索引:(a,b,c)、(a,b)、(a)。

四、避坑提醒

  • 全文索引只能用於 MATCH() AGAINST() 語法,不遵循最左前綴。
  • 主鍵即聚簇索引 (InnoDB),二級索引葉子節點存主鍵值,查詢可能「回表」。
  • 覆蓋索引:查詢欄位全在索引中,避免回表,效能最大化。

掌握四大類型與最左前綴,索引設計不再迷茫。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved