【问题标题】:Speed up postgis query in django加快 django 中的 postgis 查询
【发布时间】:2015-10-16 05:07:07
【问题描述】:

我有一个平均需要 550 毫秒的 postgis 查询。

查询如下所示:

pnt = fromstr("POINT(%s %s)" % (lat, lng))
Location.objects.filter(geometry__distance_lte=(pnt, D(mi=2)))

有没有办法加快速度?这是我可以缓存的东西吗?

【问题讨论】:

    标签: django postgresql heroku postgis


    【解决方案1】:

    是的,您可以加快速度!使用dwithin代替距离,这样查询就可以使用空间索引。

    Location.objects.filter(geometry__dwithin=(pnt, D(mi=2)))
    

    数据库列需要有一个spatial index 才能利用这一点。

    【讨论】:

      猜你喜欢
      • 2018-11-07
      • 2020-08-03
      • 2017-12-17
      • 2023-03-04
      • 2011-04-09
      • 2018-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多