Postgresql复合索引的空间+时间参数

Zep*_*dio 6 postgresql indexing postgis

我们有一个表,其中包含数百万行PostGIS几何图形.我们要执行的查询是:在边界几何中最近的条目是什么?这个查询的问题是我们经常会有大量与边界框匹配的项目(半径约为5km),然后Postgres必须重新检查边界框内的所有返回项目才能得到他们的时间戳,然后排序并返回最新的N.

我们需要的是一个(复合?)索引,它同时考虑了GIST空间索引和时间戳.这样的事情可能吗?我在CREATE INDEX步骤中尝试了几种组合,到目前为止还没有任何工作.

Szy*_*ski -1

我宁愿创建两个索引,一个是空间索引,第二个是时间戳列上的索引。PostgreSQL 可以很好地组合索引,并且不需要“重新检查”找到的行。它可以使用索引来获取几何中的行并使用其他索引对它们进行排序。

  • 就我而言,postgresql 不使用时间戳列上的第二个索引,而是进行磁盘排序。 (2认同)