2010年6月8日星期二

ArcSDE vs. Oracle Spatial 12

· 空间索引的性能 1. 空间索引的用处 对于空间数据库进行空间查询的操作一般都有两个阶段,对于Oracle Spatial而言,一个空间查询分为2个步骤,一个称为主过滤(Primary Filter),另外一个称为次过滤(Secondary Filter)。主过滤通过矩形的MBR相交从海量的数据中首先过滤出可能符合空间查询的一小部分数据,然后再用次过滤中具体的空间关系算法来判断这个小的结果集中到底哪些是满足空间关系的。如图 12,在主过滤的过程中,空间索引会被使用到。 图 12 Oracle Spatial中空间查询的处理流程 对于ArcSDE来说,原理上也是类似,ArcSDE中有一个函数叫ST_ENVINTERSECTS,这就是通过四角坐标来从海量数据中过滤一个矩形范围内的一小部分数据。对于其它一般的空间操作,比如ST_WITHIN等,只要你的数据建立了空间索引,这个操作也会先通过空间索引找到一个小数据集(相当于ST_ENVINTERSECTS操作,或者说Oracle Spatial中的主过滤),然后再通过具体的“Within”的空间关系算法再查得准确的结果(相当于Oracle

没有评论: