当前位置:  开发笔记 > 数据库 > 正文

使用JOIN与WHERE子句时是否有性能提升?

如何解决《使用JOIN与WHERE子句时是否有性能提升?》经验,为你挑选了1个好方法。

根据下面的代码示例,使用JOIN而不是WHERE子句是否存在性能差异(或任何其他原因):

EX1.

select *
from table_1, table_2
where table_1.id=table_2.id;

EX2.

select *
from table_1
    join table_2 on
    table_1.id = table_2.id;

Rahul Tripat.. 5

您可以参考:糟糕的习惯:使用旧式JOIN(该链接适用于SQL Server,但大多数点也适用于Oracle).现在不鼓励使用逗号分隔的JOINS.您应该使用JOINS的第二种格式,因为它更具可读性,并且现在强烈推荐并广泛使用.就性能而言,两种语法之间没有区别.另外,JOINS的第一种格式(即逗号分隔)是1992年以前的标准SQL连接语法.

同样在Oracle的情况下,当您必须使用LEFT JOINS或RIGHT JOINS时,您必须使用旧的使用(+)样式,该样式用于标识外部连接的表.所以它令人困惑,使查询的可读性降低.因此,使用显式JOINS(在您的情况下为版本2)使其更容易理解和更易读.



1> Rahul Tripat..:

您可以参考:糟糕的习惯:使用旧式JOIN(该链接适用于SQL Server,但大多数点也适用于Oracle).现在不鼓励使用逗号分隔的JOINS.您应该使用JOINS的第二种格式,因为它更具可读性,并且现在强烈推荐并广泛使用.就性能而言,两种语法之间没有区别.另外,JOINS的第一种格式(即逗号分隔)是1992年以前的标准SQL连接语法.

同样在Oracle的情况下,当您必须使用LEFT JOINS或RIGHT JOINS时,您必须使用旧的使用(+)样式,该样式用于标识外部连接的表.所以它令人困惑,使查询的可读性降低.因此,使用显式JOINS(在您的情况下为版本2)使其更容易理解和更易读.


两者之间没有**性能差异,甚至不是"非常轻微"的差异.
推荐阅读
手机用户2502851955
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有