我有兩個SQL查詢如下比較查詢
SELECT rc.stateId,rs.stateName FROM
(SELECT DISTINCT cityid FROM HolidayPackageCity) AS hpc
INNER JOIN
(SELECT cityid,stateid FROM RegCity WHERE countryCode='IN' AND stateId IS NOT NULL) AS rc
ON hpc.cityId=rc.cityId
INNER JOIN
RegState AS rs
ON rc.stateId=rs.stateId
VS
SELECT DISTINCT rc.stateId,rs.stateName
FROM HolidayPackageCity AS hpc
INNER JOIN
RegCity AS rc
ON hpc.cityId=rc.cityId
INNER JOIN
RegState AS rs
ON rc.stateId=rs.stateId
WHERE rc.countryCode='IN' AND rc.stateId IS NOT NULL
在第一查詢第一i-過濾特定表的數據然後應用加入和第一在第二表我申請加入,然後我應用條件來過濾數據。 我想知道的是從哪一個和爲什麼哪個更快。
如果你想知道哪一個是快,你可以在你的SQL客戶端查看執行時間 –
您還可以檢查'EXPLAIN'命令對於每個查詢,顯示的步驟,該數據庫需要執行查詢。只需在查詢前放置'EXPLAIN'關鍵字即可。 –
是解釋存在於SQL 2008(我不能夠使用它) – Vishwajeet