小编Chr*_*ien的帖子

为什么在这个简单的查询中 seq-scan 可以比 index-scan 和 index-only-scan 快得多?

我正在使用PostgreSQL 9.4.4. 我有一个这样的查询:

 SELECT COUNT(*) FROM A,B WHERE A.a = B.b
Run Code Online (Sandbox Code Playgroud)

a和b是表A和B的主键,所以a&b上有B索引

默认情况下,PostgreSQL 将在 AB 上使用 seq-scan 并使用 hash join,我强制它执行索引扫描和仅索引扫描。

结果表明,seq scan比其他两个快很多,index-scan和index-only-scan在a,b上做全扫描需要更多的时间。

EXPLAIN ANALYZE SELECT COUNT(*) FROM journal,paper WHERE journal.paper_id = paper.paper_id;

在此处输入图片说明

有人可以解释一下吗?

非常感谢!

postgresql performance index postgresql-performance

3
推荐指数
1
解决办法
2010
查看次数