首页 理论教育 空间数据库实验教程-空间索引技巧

空间数据库实验教程-空间索引技巧

时间:2023-08-29 理论教育 版权反馈
【摘要】:对于与空间索引关联的空间索引表也可以指定相关参数。例如:2.WORK_TABLESPACE参数在索引的创建过程中,R树会在整个数据集上执行排序操作,因此会产生一些工作表。和R树不同,四分树只能索引二维数据。还有,在创建索引的过程中,R树空间索引还额外需要200×3×N到300×3×N字节作为临时工作表的存储空间。

空间数据库实验教程-空间索引技巧

B树索引可以指定在哪里存放索引数据。对于与空间索引关联的空间索引表也可以指定相关参数。这需要通过PARAMETERS字句来指定一些参数。

这里的parameter_string是一个列表,其中的每个元素是一个parameter_name=value数据对。下面来看看在实际应用中常见的几个重要参数。

1.TABLESPACE参数

该参数指定用来存储索引表的表空间,后面还可以跟两个参数INITIAL和NEXT。例如:

2.WORK_TABLESPACE参数

在索引的创建过程中,R树会在整个数据集上执行排序操作,因此会产生一些工作表。不过这些工作表在索引创建结束后会被删除。创建和删除大量大小不同的表会使得表空间产生大量的空间碎片。为了避免这种情况,可以采用本参数来为这些临时性的工作表指定一个单独的表空间。如果没有设置该参数,则工作表与索引表存放在相同的表空间。例如:

3.LAYER_GTYPE参数

通过这个参数可以指定CUSTOMERS表中LOCATION列的几何数据为特定类型几何体,有助于完整性检查,有时还可以加快查询操作符号的执行速度。例如:CUSTOMERS(LOCATION)中只有POINT类型的几何对象,则可以采用该参数限定,提高查询效率

4.SDO_INDEX_DIMS参数(www.xing528.com)

该参数指定空间索引的维数,默认的是2,R树也可以对三维或四维的几何体建立空间索引。例如:

5.SDO_DML_BATCH_SIZE参数

对于含有空间索引的表的插入和删除操作并没有直接纳入该空间索引。相反,它们是在事务提交的时候被批量地纳入该索引中。这个参数用于指定一个事务中批量插入或删除的批量大小。如果没有明确的指定该参数,默认值为1000。这意味着一个事务中的插入操作是按照每批1000个被批量地纳入到索引中。对于大多数包含插入、删除、更新和查询的混合操作的事务而言,1000是一个比较合适的取值。如果包含大量插入、删除和更新操作,可以提高该参数值,一般介于1~10 000之间。例如:

6.SDO_LEVEL参数

除了R树索引之外,还可以通过SDO_LEVEL参数的值来创建一个四分树索引。和R树不同,四分树只能索引二维数据。例如:

对于一个空间索引而言,上述参数可以通过USER_SDO_INDEX_METADATA视图查询得到,例如:

得到如下查询结果:

对于一张表中N行数据的集合,R树空间索引大致需要100×3×N字节作为空间索引表的存储空间。还有,在创建索引的过程中,R树空间索引还额外需要200×3×N到300×3×N字节作为临时工作表的存储空间。因此,当数据量较小时,建立索引的开销可能大于查询性能的提升。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈