我对要点索引有疑问。我有表格'国家'和'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 秒。
我已经做过的:
- 真空分析 gis.country ("geog")
- 也许这就是问题所在:“不要以 GEOMETRYCOLLECTION 作为参数调用”我读过(http://www.mail-archive.com/postgis-users@postgis.refractions.net/msg17780.html),这是因为重叠的多边形,但在国家地图中不存在重叠的多边形
编辑
查询计划——
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)