Sql 将ON子句添加到JOIN语句是否会使查询运行得更快?

Sql 将ON子句添加到JOIN语句是否会使查询运行得更快?,sql,reporting-services,Sql,Reporting Services,我有一个大问题,就是超时。我可以通过为表添加更多的连接条件来加快速度吗?就像这样: Left outer join table a on a.variable = b.variable 为此: Left outer join table a on a.variable = b.variable and a.type = 'x' 这篇评论太长了 您的两个查询执行不同的操作。一般来说,编写查询以执行所需操作是一个好主意 在许多情况下,第二个查询会运行得更快,因为它通常会返回较小的结果集。这不一定

我有一个大问题,就是超时。我可以通过为表添加更多的连接条件来加快速度吗?就像这样:

Left outer join table a on a.variable = b.variable
为此:

Left outer join table a on a.variable = b.variable and a.type = 'x'

这篇评论太长了

您的两个查询执行不同的操作。一般来说,编写查询以执行所需操作是一个好主意


在许多情况下,第二个查询会运行得更快,因为它通常会返回较小的结果集。这不一定是正确的,但它是一个通用的指导原则。

这取决于您的数据和索引;主要的问题是这是两个不同的查询,所以这不是让查询运行得更快,而是运行一个不同的(可能更快的)查询。请随意为您实际使用的数据库添加标记。此外,如果这是一个大型查询,我们甚至无法猜测更改联接将如何影响性能。为什么不发布实际的查询?