关系操作符
语法:
操作符OVERLAPBDYDISJOINT(geometry1,geometry2);
1、SDO_ANYINTERACT
2、SDO_CONTAINS
3、SDO_COVEREDBY
4、SDO_COVERS
5、SDO_EQUAL
6、SDO_INSIDE
7、SDO_ON
8、SDO_OVERLAPBDYDISJOINT
9、SDO_OVERLAPBDYINTERSECT
10、SDO_OVERLAPS
11、SDO_TOUCH
在11g,支持3维的操作符有:
■ SDO_ANYINTERACT
■ SDO_FILTER
■ SDO_INSIDE (for solid geometries only)
■ SDO_NN
■ SDO_WITHIN_DISTANCE
为了获得最优的执行计划,当查询窗口(空间操作符的第二个参数)来
自于表时,请始终指定/*+ ordered */ 提示
SELECT/*+ ORDERED NO_INDEX(b IDX_I_POLE_S_FID) */
b.name
FROM i_exch_s a, i_pole_s b
WHERE sdo_within_distance(b.gwm_geometry,
a.gwm_geometry,
'distance=5') = 'TRUE'
AND a.gwm_fid IN(52062747,52062749)
AND b.gwm_fid = 52598309;
空间函数与操作符的对比
1、 空间操作符使用的表必须有空间索引;
2、 空间操作符执行速度比函数快,因此可以采用操作符的情况下就使用操作符
3、使用空间操作符时,如果查询窗口来自于一个表,加上 /*+ORDERED */ 这个hint