相关疑难解决方法(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万
查看次数

内连接与左连接 - 对于相同的结果更快?

如果内连接和左连接都可以实现相同的结果,哪一个更快并且具有更好的性能(特别是对于大数据)?

内部联接:

SELECT *
FROM Table_A A
INNER JOIN Table_B B
ON A.PK_A = B.PK_B
Run Code Online (Sandbox Code Playgroud)

左连接:

SELECT *
FROM Table_A A
LEFT JOIN Table_B B
ON A.PK_A = B.PK_B

WHERE A.PK_A = B.PK_B
Run Code Online (Sandbox Code Playgroud)

表A:

PK_A    User
1   FOX
2   COP
3   TAXI
6   WASHINGTON
7   DELL
5   ARIZONA
4   LINCOLN
10  LUCENT
Run Code Online (Sandbox Code Playgroud)

表-B:

PK_B    Message
1   TROT
2   CAR
3   CAB
6   MONUMENT
7   PC
8   MICROSOFT
9   APPLE
11  SCOTCH
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?如何测试大数据的性能?

mysql sql join inner-join left-join

0
推荐指数
1
解决办法
4969
查看次数

标签 统计

sql ×2

inner-join ×1

join ×1

left-join ×1

mysql ×1

performance ×1

sql-server ×1