-1
我有簡化爲讓MySQL使用索引進行排序,但不能在WHERE子句中使用?
SELECT *
FROM table
WHERE field > 5
ORDER BY field DESC
其中field>5
比賽一半以上的記錄的查詢。我有一個field
索引,但MySQL沒有使用它,因爲太多的記錄滿足條件。有沒有可能只使用索引的訂單,但不是WHERE
子句?
我有簡化爲讓MySQL使用索引進行排序,但不能在WHERE子句中使用?
SELECT *
FROM table
WHERE field > 5
ORDER BY field DESC
其中field>5
比賽一半以上的記錄的查詢。我有一個field
索引,但MySQL沒有使用它,因爲太多的記錄滿足條件。有沒有可能只使用索引的訂單,但不是WHERE
子句?
我想簡單的答案是:這樣做沒有意義,即使可能。數據庫優化器根據是否要增強性能來決定何時使用索引。
爲什麼索引對排序有用?你會做什麼?你知道索引如何工作嗎? –
爲什麼索引不能用於過濾? – GolezTrol
@GolezTrol在某些情況下,如果數據的選擇性很低,索引的使用可以通過優化器避免。 –