我有两个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