Oracle Spatial分区应用研究之五:不同分区粒度+本地空间索引效率对比

1、实验目的

    若使用本地空间索引,不同分区粒度将产生不同索引组织,其索引分区个数、大小、R-TREE树结构均不相同。那么,在什么分区粒度下的本地空间索引效率较高呢?

2实验数据

    实验数据为全国2531个区县,要素总数为46982394。分别以按县、市、省、区域分区,以及不分区来进行组织。在分区表上创建本地空间索引,在不分区表上创建全局空间索引。

3实验方法

在1:500、1:2000、1:10000、1:25000、1:50000、1:100000比例尺下,随机从全国范围内选择3个样本范围,作为空间查询时的查询范围。将6*3个样本范围分别与3个实验主体进行空间查询运算,记录每次查询的耗时。

    分区表采用最适合本地空间索引的算法——part_query,未分区表采用最适合全局索引的算法——part_query3。

4实验结果

    实验结果如下表:

求每种比例尺3个样本的平均值:

    绘制不同分区粒度在不同比例尺下响应时间的折线图。

5实验结论

  1. 过于分散的分区策略(按县分区),其性能损失较为严重。
  2. 随着分区粒度越来越"粗",性能趋于平缓。按市、按省、按区域分区性能相差不大。
  3. 表现最好的分区+本地索引,其效率仍然不如未分区表+全局索引。
  4. 在大比例尺下,虽然分区效率不如未分区,但差异相差微小。是否产用分区,产用何种分区,应结合业务场景选择合适的组织方式。
posted @ 2018-01-12 12:13  6宇航  阅读(251)  评论(0编辑  收藏  举报