后期表现中的空间要点指数

时间:2012-05-21 20:47:48

标签: postgresql indexing gis postgis spatial

我有gist索引的问题。 我的桌子'country'有'geog'(地理,多边形)柱子。 我还有本专栏的主要索引。 这个简单的查询与ST_CoveredBy()对着2行的表(每个'geog'约5MB)需要13秒(查询结果是正确的):

select c."ID" from gis.country c where ST_CoveredBy(ST_GeogFromText('SRID=4326;POINT(8.4375 58.5791015625)'), c."geog") =true

当我下载索引时,查询也花费了13秒。

我已经做过的事情:

修改

查询计划 -

Index Scan using sindx_country_geography_col1 on country c  (cost=0.00..8.52 rows=1 width=4)
  Index Cond: ('0101000020E61000000000000000E0204000000000204A4D40'::geography && "geog")
  Filter: _st_covers("geog", '0101000020E61000000000000000E0204000000000204A4D40'::geography)

1 个答案:

答案 0 :(得分:2)

对于只有两行的表查询索引,您将看不到任何好处。如果要查询数百行或更多行,索引的好处只会闪耀。

我猜你有两个非常详细的国家多面体。有策略将这些划分为网格以提高性能。如何将国家划分为网格应基于(1)您感兴趣的区域的密度(您最有可能查询的区域),以及(2)多边形复杂性或顶点密度。