当前位置:   article > 正文

Postgresql 排序后limit 后查询速度极其慢的问题_postgre按照ctid排序太慢

postgre按照ctid排序太慢

工作的时候发现排序后,当limit数量少的时候速度及其慢,后来查看一些文档上说,当数据很少的时候,limit情况下,索引并没生效

例子:

  1. ----很慢的问题-----
  2. SELECT "ID",ST_AsGeoJSON("Geom") as "Geom","Infos","Tags","GeomInfos" FROM "features" where features."DatasetID"=14907 order by "ID" ASC LIMIT 1 OFFSET 0
  3. ----limit调整后,速度毫秒出----
  4. SELECT "ID",ST_AsGeoJSON("Geom") as "Geom","Infos","Tags","GeomInfos" FROM "features" where features."DatasetID"=14907 order by "ID" ASC LIMIT 10 OFFSET 0

经过在1-10之间反复尝试,发现只要大于10就会走索引,具体原因暂时不太清楚(可能是上面说的数据少的时候,用explain分析,索引缺少没生效)

 

如果大家有更好的结论,欢迎留言

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/135234
推荐阅读
相关标签
  

闽ICP备14008679号