首先运行:join或where子句

Bri*_*aha 10 sql sql-server-2008

我有一个查询,其中我使用13 LEFT OUTER JOINS.左边的表有一个大数据,因此执行查询并返回结果需要很长时间.但是当我使用where子句来过滤结果时,它只需要很少的时间.现在我很困惑哪个先执行:产生结果的连接然后where子句从中过滤或者首先过滤结果,得到结果的连接.

小智 10

通常,任何DBMS(例如SQL)都会执行自己的查询优化,它使用它认为最快的算法.所以它是过滤,然后加入.