查询一个城市内的各个商店营业点,营业点的空间数据存储表在shop中,城市边界数据存储在另一个表city中,但是城市边界的点有上百万个点组成,使用语句:
select count(*) from shop a, city b
where sdo_relate(a.shop_location, b.city_location, 'MASK=ANYINTERACT+TOUCH QUERYTYPE=WINDOW' )='TRUE' and b.city_name='xxx'
执行查询语句后速度非常非常的慢(两表都创建了空间索引),后来从新将城市边界的点在Arcgis上进行概化后(概化后只有几万个点组成边界)查询速度才成为秒级。在这想询问一下了解oracle spatial查询的同学,除了减少边界点外原来的上百万点查询有没有方法提高查询效率?