gpt4 book ai didi

sql - Explain Analyze 上嵌套反循环的成本

转载 作者:行者123 更新时间:2023-11-29 12:22:23 25 4
gpt4 key购买 nike

我通过解释分析得到以下输出:

Nested Loop Anti Join  (cost=0.00..36.92 rows=83 width=3) (actual time=0.303..1 0.631 rows=83 loops=1)
-> Seq Scan on paises p (cost=0.00..5.46 rows=246 width=3) (actual time=0.0 43..0.336 rows=246 loops=1)
-> Index Scan using ciudades_pkey on ciudades c (cost=0.00..12.92 rows=192 width=3) (actual time=0.038..0.038 rows=1 loops=246)
Index Cond: (c.pais_codigo = (p.pais_codigo)::bpchar)
Total runtime: 10.897 ms
(5 rows)

我不明白为什么循环反加入成本是 36.92。

在其他网站上,我看到了循环的公式:上层扫描成本 + 上层行 * 内部成本。

但我得到的成本是 36.92,所以没办法。dbmanager 如何解决这个查询?

最佳答案

参见 initial_cost_nestloop和 PostgreSQL 源代码中的 final_cost_neSTLoop 以了解其计算方式的确切算法。

优化器正在考虑内部关系的第一次扫描和重复扫描之间的差异,以及对于反连接,只有索引扫描的第一个匹配可能被处理的事实。加入这两个关系的 CPU 成本被添加到子计划成本之上。

关于sql - Explain Analyze 上嵌套反循环的成本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13240724/

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