0
創建複合數據庫索引時,應該影響字段順序的是什麼?創建複合數據庫索引時的列順序
例如,假設我根據日期,價格,成交量什麼應該影響我是否創建
DATE, PRICE, VOLUME VOLUME, DATE, PRICE . . .
大概一個會更適合於特定類型的查詢創建複合索引,但我不知道哪些查詢。
創建複合數據庫索引時,應該影響字段順序的是什麼?創建複合數據庫索引時的列順序
例如,假設我根據日期,價格,成交量什麼應該影響我是否創建
DATE, PRICE, VOLUME VOLUME, DATE, PRICE . . .
大概一個會更適合於特定類型的查詢創建複合索引,但我不知道哪些查詢。
如果您通過DATE
或DATE and PRICE
或DATE,PRICE,VOLUME
過濾(或搜索)記錄,將使用第一個記錄。如果您過濾記錄,則不會使用它,例如VOLUME
。第二個將用於您搜索條件包括VOLUME
或VOLUME and DATE
或VOLUME,DATE,and PRICE
的查詢。
更確切地說,當您在GROUP BY
和ORDER BY
中使用索引列時,也可以使用索引。
一些例子:
索引1(DATE,PRICE,VOLUME
)
索引2(VOLUME,DATE,PRICE
)
SELECT * FROM table1 WHERE `DATE` = '2011-10-01'; //Index 1 used, Index 2 not used
SELECT * FROM table1 WHERE `VOLUME` = '111'; //Index 1 not used, Index 2 used