加快 django 中的 postgis 查询
Speed up postgis query in django
我有一个平均耗时 550 毫秒的 postgis 查询。
查询如下所示:
pnt = fromstr("POINT(%s %s)" % (lat, lng))
Location.objects.filter(geometry__distance_lte=(pnt, D(mi=2)))
有什么办法可以加快速度吗?这是我可以缓存的东西吗?
是的,你可以加快速度!使用dwithin代替距离,这样查询就可以使用空间索引。
Location.objects.filter(geometry__dwithin=(pnt, D(mi=2)))
数据库列需要有一个 spatial index 才能利用它。
我有一个平均耗时 550 毫秒的 postgis 查询。
查询如下所示:
pnt = fromstr("POINT(%s %s)" % (lat, lng))
Location.objects.filter(geometry__distance_lte=(pnt, D(mi=2)))
有什么办法可以加快速度吗?这是我可以缓存的东西吗?
是的,你可以加快速度!使用dwithin代替距离,这样查询就可以使用空间索引。
Location.objects.filter(geometry__dwithin=(pnt, D(mi=2)))
数据库列需要有一个 spatial index 才能利用它。