1. 程式人生 > >資料庫觸發聯合索引的幾個條件

資料庫觸發聯合索引的幾個條件

本文主要總結查詢語句觸發聯合索引(索引定義中至少包含兩個索引列)的幾種條件。

示例如下。首先建立表:
CREATE TABLE E (e1 INT, e2 VARCHAR(9), e3 INT, PRIMARY KEY(e1, e3));
這樣就建立了一個聯合索引:e1,e3

觸發聯合索引是有條件的:
1、使用聯合索引的全部索引鍵,可觸發索引的使用。
例如:SELECT E.* FROM E WHERE E.e1=1 AND E.e3=2

2、使用聯合索引的字首部分索引鍵,如“key_part_1 <op>常量”,可觸發索引的使用。
例如:SELECT E.* FROM E WHERE E.e1=1


3、使用部分索引鍵,但不是聯合索引的字首部分,如“key_part_2 <op>常量”,不可觸發索引的使用。
例如:SELECT E.* FROM E WHERE E.e3=1

4、使用聯合索引的全部索引鍵,但索引鍵不是AND操作,不可觸發索引的使用。
例如:SELECT E.* FROM E WHERE E.e3=2 OR E.e1=1