請告知如何改善這種緩慢的查詢。緩慢查詢與OR在哪裏條款
SELECT response.`reasonid`
FROM response
INNER JOIN ACTION ON action.actionid = response.actionid
WHERE
response.respdate BETWEEN 20160305
AND 20160905
AND
(
(
response.reasonid = 'Prospect Call'
AND response.typeid = '0'
AND action.typeid = '9'
)
OR
(
response.typeid = '1000'
AND action.typeid = '1'
)
)
上有索引:
response.actionid/response.reasonid/response.typeid/action.typeid/response.respdate
解釋結果:
table type possible_keys key key_len ref rows Extra
ACTION range PRIMARY,idx_actiontypeid idx_actiontypeid 5 \N 310617 Using where; Using index
response ref idx_respdate2,idx_actionid, idx_actionid 5 ACTION.actionid 1 Using where
idx_reasonid,idx_resptypeid
什麼數據類型是respdate?它是一個日期,日期時間,整數? 「慢」是什麼意思? 1秒? 1分鐘? – Olli
respdate是一個日期字段。慢6秒。 – zima10101