繁体   English   中英

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

[英]Best way to use Where Clause in SQL SERVER Query (for best performance)?

我已经在SQL Server中编写了2个查询,并将SUB查询与Where子句结合使用,请让我知道以下查询中的最佳方法。

 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?

最好的选择是根本不使用子查询。 不需要 这两种方法都会给您相同的结果:

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'

查询性能是所有开发人员都非常关心的问题。 要查找性能和优化,只需查看“查询执行计划”即可。

您可以使用查询分析器,优化器将选择该查询分析器的执行计划。 只需在“查询”窗口中键入SQL语句,然后按Ctrl + L键。 查询以图形方式显示。

SQL Server提供的功能是查看查询执行计划的能力

运行查询并找到性能。

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM