微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

显示顺序扫描结果而不是索引

如何解决显示顺序扫描结果而不是索引

当我分析我的 Postgres sql 查询时,它给了我一个问题,它总是给出顺序扫描结果而不是索引,我们已经增加了 Postgres 数据库的内存并清理它,但我们在这里没有得到任何积极的结果是我们执行的查询和我们得到的结果 查询

EXPLAIN ANALYZE SELECT *
FROM "Geography".regions where "type" ='City'
Result:
Seq Scan on regions  (cost=0.00..25934.28 rows=84979 width=1099) (actual time=0.010..38.759 rows=85245 loops=1)
  Filter: ((type)::text = 'City'::text)
  Rows Removed by Filter: 8217
Planning Time: 0.103 ms
Execution Time: 42.257 ms

解决方法

好吧,执行计划显示只有 8% 的行被您的条件过滤掉,这意味着该表中 92% 的行将被返回,因此当大多数行应该被返回时,Seq Scan 会快得多回来 , 这就是优化器从不费心扫描索引的原因

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。