1
3
好的,我以最意想不到的方式解决了我的问题。我将Postgresql从9.6.1升级到了9.6.3。就这样。重新启动服务后,解释计划现在看起来很好,查询这次运行得很好。我没有改变任何东西,没有新的索引,什么也没有。我能想到的唯一解释是9.6.1中有一个查询规划器错误,在9.6.3中解决了。谢谢大家的回答! |
2
3
添加索引:
有必要以不同的方式考虑PostgreSQL的“is\u active is TRUE”和“is\u active=TRUE”过程。因此,索引谓词和查询中的表达式必须匹配。 如果无法重写查询,请尝试添加索引:
|
3
2
你猜对了 Upgrading to the latest point-release is always the right thing to do. Quoting the release notes for Postgres 9.6.2:
Dima advised .但请保持简单:
然后做
不
用一个
但根本不需要以这种方式重写查询。这个
顺便说一句,因为你通过升级修复了这个bug,一旦你创建了部分索引(并运行
|
René Hoffmann esd · 如何使用带有更新或插入的计划 7 年前 |
ManuelSchneid3r · SQL查询计划序列 9 年前 |
Paria Molayem · 哪个执行计划的性能更好? 10 年前 |
Registered User · 如何避免额外的内部联接来优化此查询? 11 年前 |