【发布时间】:2016-04-21 13:12:09
【问题描述】:
我们有一个包含属性位置的表,当针对区域多边形进行查询时,它会非常非常快地返回结果(通过使用正确的 lonlat 索引)
但是...当我们在不同的属性(价格,它也有自己的索引)上包含一个额外的“order by”参数时,postgres 决定将价格索引优先于 lonlat 索引,并且查询运行了几个 1000慢几倍。
- 有没有办法同时使用这两个索引?
- 如果不是,我们如何向 postgres 解释它选错了?
有趣的是,我们尝试完全删除价格索引,然后查询返回到 lonlat 索引并运行得非常快。不幸的是,价格指数在应用程序的其他部分是必不可少的。
谢谢
【问题讨论】:
标签: postgresql indexing