加入兩個表時速度很慢的SQL查詢,以任何方式提高查詢速度?加入兩個表時速度很慢的SQL查詢,以任何方式提高查詢速度?
我有一個小表A和大表B. A有我們需要的所有列,TYPE列除外,TYPE值只能在B中找到。但是B有太多無用的行。
現在我想從A中選擇所有行,並且它們應該包含所有列和TYPE。我的想法是使用左連接,因爲它可以選擇B中存在於A中的所有行,所以我們可以獲得TYPE值。
甲骨文:
SELECT B.HOUR, B.LOCATION, B.PRICE, B.TYPE, B.DATE
FROM A LEFT JOIN B
ON A.HOUR=B.HOUR AND A.LOCATION=B.LOCATION AND A.PRICE=B.PRICE AND A.DATE=B.DATE
這是非常緩慢的。此外,我只有讀權限,所以我不能創建新表。有什麼方法可以改進它嗎?謝謝。
表和索引定義請。 – jarlh
確保ON子句中的所有列都被編入索引 – SEarle1986
沒有任何權限但只能讀取,您無法做太多工作。 – jarlh