1

我对要点索引有疑问。我有表格'国家'和'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)
4

1 回答 1

2

您不会看到索引查询对只有两行的表的任何好处。只有当您有数百或更多行要查询时,索引的好处才会发挥作用。

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

于 2012-05-21T23:11:49.983 回答