Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 在WHERE子句上执行ON子句_Sql_Sql Server - Fatal编程技术网

Sql 在WHERE子句上执行ON子句

Sql 在WHERE子句上执行ON子句,sql,sql-server,Sql,Sql Server,谁能告诉我以下哪项查询的性能更好 SELECT * FROM [TABLE1] T1 INNER JOIN [TABLE2] T2 ON T2.[FK_ID] = T1.[PK_ID] WHERE T2.[ACTIVE] = 1; hpe这将给你答案:它们是相同的:优化器足够聪明,可以解决这个问题 同样重要的是,SQL是声明性的,所以您向优化器询问一些东西,但没有告诉它如何做 但是,第一个是“正确的”,因为您正在分离

谁能告诉我以下哪项查询的性能更好

SELECT 
      * 
FROM 
      [TABLE1] T1 
      INNER JOIN [TABLE2] T2 
      ON T2.[FK_ID] = T1.[PK_ID] 
WHERE 
      T2.[ACTIVE] = 1; 


hpe这将给你答案:

它们是相同的:优化器足够聪明,可以解决这个问题

同样重要的是,SQL是声明性的,所以您向优化器询问一些东西,但没有告诉它如何做


但是,第一个是“正确的”,因为您正在分离连接和位置。

根据我的说法,第二个查询应该更有效。必须使用sql Profiler检查每个查询的性能,然后您就会知道。然后返回并接受您过去的一些问题的答案。我的表大小非常小,因此执行时间不会有太大变化。那么这真的没关系,是吗?+1表示声明性和。。。根据维基百科的说法,这显然是必须的。
SELECT 
      * 
FROM 
      [TABLE1] T1 
      INNER JOIN [TABLE2] T2 
      ON T2.[FK_ID] = T1.[PK_ID] AND 
      T2.[ACTIVE] = 1;