更改 Geoserver 执行的空间查询

问题描述 投票:0回答:1

我正在从现有的地图图块解决方案转换为地理服务器。我们在 Oracle 数据库中存储了大量数据,并且我们发现使用空间查询太慢/太繁重。在我们当前的解决方案中,我们将辅助表引入到数据库中,这些辅助表将几何图形交叉引用到它们出现的图块上(使用四键图块方案,因为它非常适合这种情况)。一旦到位,就可以简单地重写来自

的查询
SELECT ID,GEOM 
FROM tbl t
WHERE SDO_FILTER(t.GEOM, :1 , 'mask=anyinteract querytype=WINDOW') = 'TRUE'

SELECT ID,GEOM 
FROM tbl t 
where t.id in (select xr.tid from quad_xref xr where xr.quad_id = :1)

其中quad_id是作为WMS请求一部分的参数。在我们当前的解决方案中,第二个查询的性能提高了 20-50 倍,并希望了解我们是否可以将这种方法与 geoserver 一起使用

geoserver
1个回答
0
投票

最简单的方法(如果您必须使用 Oracle)是创建一个 带有变量的视图。我假设您在几何列上有一个空间索引,它应该为您处理该查找。

也就是说,Oracle 数据存储很少受到开发人员的喜爱,而您几乎可以从 PostGIS 数据存储获得更好的性能。

© www.soinside.com 2019 - 2024. All rights reserved.