我試着讓導致下面的查詢,但其周圍2分鐘服用,以檢索的MySQL獲得最新的記錄,而不子查詢
SELECT *
FROM customer e
WHERE e.id=324
AND e.g_id IN('x133fv','be6544','e992170','93611c')
and e.enrol_id =
(
select e1.enrol_id
from customer e1
WHERE e1.id=324
AND e1.g_id=e.g_id
ORDER BY update_time DESC, posted_time DESC, enrol_id DESC
LIMIT 1
)
我有(G_ID,ID)指數
有通過JOIN獲得結果的任何其他方式?
我和戈登在一起。不要尋找另一種方式。這個查詢看起來不錯,並且讀得很好如果時間太長,那麼您應該查看EXPLAIN計劃,並嘗試通過添加索引來查看它是否有效。既然你在id和g_id上有2個相等的條件,而在另外3個列上有一個順序,Gordon建議增加一個5列索引可能很好地解決你的問題。 – Frazz
Frazz,戈登指數剛剛幫助我從總共2分鐘的輸出時間中獲得6秒。 :( – user3752021