任何人都可以告诉我以下哪些查询会有更好的表现?
SELECT
*
FROM
[TABLE1] T1
INNER JOIN [TABLE2] T2
ON T2.[FK_ID] = T1.[PK_ID]
WHERE
T2.[ACTIVE] = 1;
SELECT
*
FROM
[TABLE1] T1
INNER JOIN [TABLE2] T2
ON T2.[FK_ID] = T1.[PK_ID] AND
T2.[ACTIVE] = 1;
答案 0 :(得分:3)
答案 1 :(得分:3)
它们完全相同:优化器非常聪明,可以解决这个问题。
至少,SQL是声明式的,所以你要求优化器提供一些东西但不告诉它如何操作。
但是,第一个是“正确的”,因为你将JOIN和WHERE分开。