我運行下面的查詢:ORDER BY子句,巨大的性能下降
SELECT A.ID, A.CODE, A.NAME, (SUBQUERY CALCULATING SALES)
FROM PRODUCTS A
JOIN PRODUCTSALES B ON A.ID = B.ID
查詢在不到一秒鐘返回250行。如果我在末尾添加ORDER BY A.CODE
或ORDER BY A.NAME
,則查詢在20秒內返回。
我不明白爲什麼排序250行數據需要這麼長時間。如果訂單列是像A.ID這樣的整數,則此行爲不存在。
你使用哪個dbms?任何索引?冷/熱數據? A.ID是主鍵嗎? – jarlh
如果A.ID是主鍵,它可能有一個聚集索引,這意味着它已經排序。你能查看一個查詢計劃嗎?它應該給你更多關於發生的事情的信息。例如。缺少索引。 – gcaton
你在使用GROUP BY嗎?你用什麼dbms確實很重要! –