在SQL SERVER查询中使用Where子句的最佳方法(获得最佳性能)?

时间:2015-03-25 05:49:55

标签: sql sql-server

我在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?

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提供的是查看查询执行计划的能力

运行查询并查找性能。

enter image description here