• 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. 在大比例尺下,虽然分区效率不如未分区,但差异相差微小。是否产用分区,产用何种分区,应结合业务场景选择合适的组织方式。
  • 相关阅读:
    iframe和DataForm
    django文件上传
    MySQL 对于千万级的大表要怎么优化?
    mysql myisam转innodb的2种方法
    mysql 中order by 与group by的顺序
    sql 时间转换问题 from_unixtime() UNIX_TIMESTAMP()
    MySQL大表优化方案
    iptables nat及端口映射
    一个不可思议的MySQL慢查分析与解决
    iptables中DNAT、SNAT和MASQUERADE的理解
  • 原文地址:https://www.cnblogs.com/6yuhang/p/8275089.html
Copyright © 2020-2023  润新知