gpt4 book ai didi

sql - 表索引会影响 SQL 连接查询的执行时间吗?

转载 作者:行者123 更新时间:2023-12-04 05:27:36 25 4
gpt4 key购买 nike

我有一个存储过程,其中包括 4-5 个表连接操作,SP 我在两个不同的数据库上执行(所有表定义都相同)然后在 DB-1 中,SP 需要 20-25 秒,在 DB-2 SP 中在我重建 DB-1 索引后花 1 秒执行,然后 DB-1 的 SP 与以前相比工作得更快。

那么连接和表索引之间有什么关系吗?如果是,那么如何解决此类问题?

最佳答案

我理解你的问题是使用索引是否会影响连接性能。答案是响亮的"is"。

一般来说,连接到一个只需要几行的表将使用一个索引(如果存在的话)。

加入需要大部分表的表将导致“全表扫描”(Oracle 术语),其中 DBMS 将使用此作为索引构造连接键的散列,以随后探测加入时要使用的正确值。

参见 http://en.wikipedia.org/wiki/Join_%28SQL%29#Implementation以及它引用的有关 Join 算法的文章,以便对这些算法进行很好的概述。

关于sql - 表索引会影响 SQL 连接查询的执行时间吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13012596/

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