相关疑难解决方法(0)

SQL Server中的INNER JOIN与LEFT JOIN性能

我已经为9个表创建了使用INNER JOIN的SQL命令,无论如何这个命令需要很长时间(超过五分钟).因此,我的民众建议我将INNER JOIN更改为LEFT JOIN因为LEFT JOIN的表现更好,尽管我所知道的第一次.我改变后,查询的速度显着提高.

我想知道为什么LEFT JOIN比INNER JOIN快?

我的SQL命令如下所示: SELECT * FROM A INNER JOIN B ON ... INNER JOIN C ON ... INNER JOIN D依此类推

更新: 这是我的架构的简要说明.

FROM sidisaleshdrmly a -- NOT HAVE PK AND FK
    INNER JOIN sidisalesdetmly b -- THIS TABLE ALSO HAVE NO PK AND FK
        ON a.CompanyCd = b.CompanyCd 
           AND a.SPRNo = b.SPRNo 
           AND a.SuffixNo = b.SuffixNo 
           AND a.dnno = b.dnno
    INNER JOIN exFSlipDet h -- PK = CompanyCd, FSlipNo, FSlipSuffix, FSlipLine
        ON a.CompanyCd …
Run Code Online (Sandbox Code Playgroud)

sql sql-server performance

247
推荐指数
7
解决办法
29万
查看次数

“FROM a, b”和“FROM a FULL OUTER JOIN b”有什么区别?

处理来自多个表的数据时,您可以通过多种不同的方式处理JOIN这些表,每种方式都会改变处理匹配列的方式。您也可以从多个表中提取数据,即FROM [table a], [table b].

这种方法似乎仍然以某种方式连接表格,如果我不得不猜测,我会说这种方法只是 的简写FULL OUTER JOIN,但我确定两者之间存在差异。

区别只是跟FULL OUTER JOIN在 后面ON [table 1 specific column] = [table 2 specific column],还是发生了其他事情?

sql join full-outer-join

4
推荐指数
1
解决办法
7111
查看次数

标签 统计

sql ×2

full-outer-join ×1

join ×1

performance ×1

sql-server ×1