我在SQL Server中编写了2个查询,并在Where Where子句的加入中使用了SUB Query,请告诉我在以下查询中最好的方法。
Query 1. SELECT column1,column2,column3,JOINTAB.column5 FROM Table1
INNER JOIN (SELECT column1,column4,column5 FROM Table2 WHERE
column4='xxxx') AS JOINTAB ON Table1.column1=JOINTAB.column1
Query 2. SELECT column1,column2,column3,JOINTAB.column5 FROM Table1
INNER JOIN (SELECT column1,column4,column5 FROM Table2) AS JOINTAB
ON Table1.column1=JOINTAB.column1 WHERE JOINTAB.column4='xxxx'
为获得最佳性能查询1还是2?
答案 0 :(得分:0)
这里你最好的选择就是不要使用子查询。这不是必需的。这两种情况都会给你相同的结果:
SELECT t1.column1,t1.column2,t1.column3,t2.column5
FROM Table1 t1
INNER JOIN Table2 t1 on t2.column1 = t1.column1 and t2.column4 = 'xxxx'
--or
SELECT t1.column1,t1.column2,t1.column3,t2.column5
FROM Table1 t1
INNER JOIN Table2 t1 on t2.column1 = t1.column1
WHERE t2.column4 = 'xxxx'
答案 1 :(得分:0)
查询性能是所有开发人员都非常关心的问题。 要查找性能和优化,您只需查看“查询执行计划”。
您可以使用查询分析器,优化程序选择执行计划。只需在“查询”窗口中键入SQL语句,然后按Ctrl + L键。查询以图形方式显示。
SQL Server提供的是查看查询执行计划的能力
运行查询并查找性能。