1
我有幾個查詢,我創建了2個單獨的索引,我明白它並不真正需要使用它們,因爲表不包含那麼多行;但是,當我使用EXPLAIN
時,它們甚至不會列爲possible key
。索引沒有被顯示爲可能的鍵
示例查詢是:
SELECT
id,eventname,details,datestart,dateend,smallimage
FROM
`events`
WHERE
CAST(dateend AS DATE) >= CURDATE()
AND
(state='VIC' OR state = 'ALL')
AND
STATUS = 1
ORDER BY
datestart ASC;
備用查詢只是增加了另一個AND
子句前的狀態,一個例子是:
AND eventcat = 15
現在,我已經添加了以下兩個指標:
KEY `NewIndex4` (`dateend`,`state`,`status`,`datestart`),
KEY `NewIndex5` (`dateend`,`eventcat`,`state`,`status`,`datestart`)
但是,MySQL只顯示下面的索引作爲可能le key:
KEY `NewIndex1` (`state`,`status`,`frontpage`,`image`)
我的索引是否錯了!?它爲什麼這樣做?
謝謝 - 不幸的是我們需要保持時間;儘管我猜想另一種選擇是創建兩個字段,一個是'DATE',另一個是'DATETIME'。 – Brett
如果該字段是DATETIME,則不必更改數據類型。我將編輯我的答案。 – Tom
好的,完成編輯。 – Tom