我在localhost PostgreSQL数据库上运行一个简单的查询,它运行的时间太长了:
SELECT * FROM features LIMIT 1;
我希望这样的查询能在几分之一秒内完成,因为它基本上是“在数据库中的任何地方查看并选择一行”。或者它没有?
答案 0 :(得分:1)
我完全同意@ larwa1n对他发表评论的内容。
我想,这里的原因是SELECT
的表现太慢了。
根据我的经验,也许还有其他原因。我列出如下:
WHERE CLAUSE
和INDEX
autovacuum
是否正在运行?如果没有,请检查此表是否已vacuum
?如果没有,请在该表上执行vacuum full
。有时,当您在没有vacuum
的大型表上执行大量插入/更新/删除操作时,会使表保存在碎片磁盘块中,这将花费更长的时间进行查询。希望这个答案可以帮助您找出最终原因。