相关疑难解决方法(0)

连接语法/样式性能考虑

我们最近在我们的一个存储过程中发现,通过从这里更改查询的连接语法/样式,我们获得了显着的性能改进......

SELECT b.bla, c.foo, d.bar
FROM dbo.TableB b
JOIN dbo.TableC c
    JOIN dbo.TableD d  -- <-- Nested join syntax
    ON d.yyy = c.yyy
ON c.xxx = b.xxx
Run Code Online (Sandbox Code Playgroud)

对此...

SELECT b.bla, c.foo, d.bar
FROM dbo.TableB b
JOIN dbo.TableC c
ON c.xxx = b.xxx
JOIN dbo.TableD d   -- <-- Regular way
ON d.yyy = c.yyy
Run Code Online (Sandbox Code Playgroud)

注意:在实际查询中,有 10 个连接表,包括内连接和外连接。就sql数据而言,这些表并不大。没有聚合。输出中有一个 DISTINCT。所有连接都指向一个主键,但外键不一定被索引。

我们肯定会改变我们的方式,但我仍然很好奇关于这种风格的正确“指导”。我经常使用“缩进”样式来表示诸如查找表之类的“更具可读性”的连接。

sql-server sql-server-2012

5
推荐指数
1
解决办法
555
查看次数

标签 统计

sql-server ×1

sql-server-2012 ×1