gpt4 book ai didi

sql - INNER JOIN 能否提供比 EXISTS 更好的性能

转载 作者:行者123 更新时间:2023-12-02 00:19:25 24 4
gpt4 key购买 nike

我一直在研究对一系列过程进行性能改进,最近一位同事提到他在使用 INNER JOIN 代替 EXISTS 时取得了显着的性能改进。

作为调查为什么会这样的一部分,我想我会在这里问这个问题。

所以:

  • INNER JOIN 能否提供比 EXISTS 更好的性能?
  • 什么情况下会出现这种情况?
  • 我如何设置测试用例作为证明?
  • 你有任何有用的链接到进一步的文档吗?

  • 事实上,人们可以为这个问题带来任何其他经验。

    如果有任何答案可以专门解决这个问题,而没有任何其他可能的性能改进建议,我将不胜感激。我们已经取得了相当程度的成功,我只是对这一项感兴趣。

    任何帮助将非常感激。

    最佳答案

    一般来说,INNER JOINEXISTS是不同的东西。

    前者返回两个表中的重复项和列,后者返回一条记录,作为谓词,只返回一个表中的记录。

    如果您在 UNIQUE 上进行内部联接列,它们表现出相同的性能。

    如果您使用 DISTINCT 对记录集进行内部联接应用(去除重复),EXISTS通常更快。
    INEXISTS子句(具有 equijoin 相关性)通常使用以下几种 SEMI JOIN 之一通常比 DISTINCT 更有效的算法在其中一张 table 上。

    在我的博客中看到这篇文章:

  • IN vs. JOIN vs. EXISTS
  • 关于sql - INNER JOIN 能否提供比 EXISTS 更好的性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2177346/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com