• Oracle Spatial分区应用研究之七:同等分区粒度下全局索引优于分区索引的原因分析


    1、实验结论

    1. 同等分区粒度下,使用分区空间索引进行空间查询,比使用全局空间索引进行查询,对数据字典表的访问次数更多。假设分区数为X,则大概多3X次访问。具体说明见6实验结论。

    2、实验目的

    在之前的测试中,发现这样一个现象:同等分区粒度下,分区空间索引效率不如全局空间索引。可是,深层次的原因是什么呢?

    3、实验方法

    分别以按县分区、按省分区组织数据,按县分区表共有2531个分区,按省分区表共有43个分区。数据内容为2531个区县,共46982394条要素。分别在两个分区表上创建本地空间索引。

    开启10046事件,跟踪SDO_FILTER操作。使用tkpof分析trc文件中耗时最多的SQL,对根据绑定变量的值分析不同SQL(主要是对数据字典的递归查询)查询的数据内容。比较在使用分区索引时所查询的数据字典内容,与在使用全局索引时查询的数据字典内容。

    4、实验结果

    在使用分区空间索引时,按县分区与按省分区对数据字典的访问次数及返回记录数如下:

    1. Seg$

        查询内容包括LOB INDEX PARTITION、LOB PARTITION、TABLE PARTITION、少量sys和mdsys用户下的表、其它表。

    以按县分区表为例,包括:

        INDEX PARTITION : 2531 * 3 = 7593 (此处不包括分区空间索引,仅包括LOB INDEX PARTITION)

        LOB PARTITION : 2531 * 3 = 7593

    TABLE PARTITION:2531

    1. Obj$

    查询内容包括LOB PARTITION、SPATIAL INDEX PARTITION、相关的TABLE PARTITION

    以按省分区表分为,包括:

        LOB PARTITION : 43 * 3 =129

        INDEX PARTITION : 43 (此处包括SPATIAL INDEX PARTITION ,不包括LOB INDEX PARTITION)

        TABLE PARTITION : (仅包括与查询范围相关的分区,可忽略不计)

    1. Lobfrag$

    查询内容与全局空间索引下一致。

    1. Indpart$

    查询内容包括INDEX PARTITION,包括LOB INDEX PARTITON 以及 SPATIAL INDEX PARTITION。

    以按省分区表为例,包括:

    INDEX PARTITION : 43 * 4 =172

    1. Obj$(2)

        查询内容包括LOB PARTITION、SPATIAL INDEX PARTITION,少量其它表。

    以按省分区表为例,包括:

    LOB PARTITION : 43 * 3 =129

        INDEX PARTITION : 43 (此处包括SPATIAL INDEX PARTITION ,不包括LOB INDEX PARTITION)

    其它:82个sys和mdsys用户下的表、以及test用户下的其他一些表,可忽略。

    1. Tabpart$

      查询内容全局空间索引下一致。

    5、实验结论

    结合3实验结果中的说明,假设分区数以X表示,lob column个数以Y表示,在使用分区空间索引进行查询时,不同字典表的访问次数见下表:

    数据字典表

    访问次数

    Seg$

    (1+2Y)*X

    Lobfrag$

    XY

    Obj$

    (1+Y)*X

    Indpart$

    (1+Y)*X

    Obj$(2)

    (1+Y)*X

    Tabpart$

    X

    若已经获知对各数据字典表的平均访问时间,甚至可以估算查询耗时。在每例中seg$ 、lobfrag$ 、obj$ 、indpart$、obj$(2) 、tabpart$,各数据字典表的平均访问时间约为100us、240us、50us、150us、180us、120us。因此可估算时间为:

    Elapsed all= 100*(1+2Y)*X+240XY+50*(1+Y)*X+150*(1+Y)X+180*(1+Y)*X+120X

    =X(820Y+600)

    与全局索引X(820Y+220)相比,查询数据字典多耗时380X(单位是us)。

  • 相关阅读:
    CF763C Timofey and Remoduling
    CF762E Radio Stations
    CF762D Maximum Path
    CF763B Timofey and Rectangles
    URAL1696 Salary for Robots
    uva10884 Persephone
    LA4273 Post Offices
    SCU3037 Painting the Balls
    poj3375 Network Connection
    Golang zip压缩文件读写操作
  • 原文地址:https://www.cnblogs.com/6yuhang/p/8275103.html
Copyright © 2020-2023  润新知