基于OracleSpatial的空间数据库的索引与查询优化

来源 :城市建设理论研究 | 被引量 : 0次 | 上传用户:xjy1234
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  【摘要】本论文以查询模型为分析对象,并对空间索引进行了分析,结合本单位的实际情况,对空间查询的优化进行了探讨。
  【关键词】空间数据库,索引,查询优化
  中图分类号:G250文献标识码: A
  一、前言
  近年来,OracleSpatial的空间数据库正在不断的完善,但依然存在一些问题和不足需要改进,在技术快速发展的新时期,不断完善OracleSpatial的空间数据库的索引与查询优化,对空间数据库的发展有着重要意义。
  二、查询模型
  OracleSpatial使用双层查询模型来解决空间查询问题,即初级过滤操作和二级过滤操作。经过两次过滤,将返回精确的查询结果集,在的级操作过滤步骤中,近似匹配满足条件的一组候选对象,这些对象有可能满足给定的空间查询要求,其结果集是精确查询的父集。
  选择近似表示的条件为:如果对象A与对象B的近似满足一种关系,那么对象A与对象B就可能具有那种空间关系。例如,如果近似表示是分离的,那么对象A和对象B就将是分离的,但是如果近似表示非分离的,对象A和对象B仍可能是分离的。然后通过二次过滤,对初次过滤结果再次求精,就得到实体间的精确空间关系。使用这样的二次过滤策略有几项优点:空间对象一般都很大,因此要占用大量主内存。空间对象的近似表示在载入内存时占用的时间和空间要少的多。对空间对象的计算一般都很复杂,计算花费很大。对象越复杂,计算空间关系就越复杂。使用近似对象的计算一般会很快,需要的计算周期也要短的多。
  三、空间索引
  OracleSpatial将空间索引功能引入数据库引擎,是一项重要特征。空间索引是根据空间准则把搜索限制在各表(或数据空间)内的一种机制。对于在与查询区域重叠的数据空间中查找对象之类的查询,要对其做出有效处理就需要索引。这由一个查询多边形(封闭定位)定义。第二种类型的查询(空间连接)是从两个数据空间内找出对象对,这两个数据空间在空间范围内互动。OracleSpatial为建立空间数据的索引提供了基于线性四叉树的索引方案和基于参考树的索引方案。
  1、四叉树索引
  线性四叉树索引把几何对象映射到一组编号的“瓦片”(title)。二维空间中的一个瓦片就是一个方框,它的四边形与两条坐标轴正交。所有几何体得以存在的坐标空间以一种规则的分级方式进行分解。坐标范围(即坐标空间)可视为一个矩形。在第一级分解中将此矩形沿每一坐标方向分为两半,形成四个“子瓦片”,被称为“四分片”。在接下来的每一级分解中,每一个四分片由被沿每一坐标方向分成两半,再形成四个子瓦片。顾名思义,四叉树的4叶结构可以用来构造索引树。此过程持续进行,直到某些终止条件(如瓦片的大小)得以满足。这些瓦片可以用z-排序方案或等价方案进行线性排序,从而产生线性四叉树。
  2、参考树索引
  除了提供四叉树索引功能之外,OracleSpatial还提供了参考树索引。参考树索引既可以用来代替四叉树索引,也可以与四叉树索引并用。此外,参考树索引还可用于对数据进行三维和四维索引,这对于解决石油勘探、体系结构、工程设计以及许多其他科学应用中的问题至关重要。
  3、可扩展索引
  应用程序可在Oracle数据库内(以表的形式)或Oracle数据库外(以文件形式)存储索引数据。应用程序通过管理、检索和使用索引数据来计算用户查询。实质上,应用程序控制着域索引的结构和语义内容。数据库系统通过与应用程序交互来创建、维护和使用域索引。
  域索引数据最好存储在数据库中,这样,它就可以处理物理存储。
  四、空间查询的优化
  1、空间查询优化的原理
  我们已经知道了Oracle在空间查询过程中会采用双重过滤的优化方法,而在实际应用的空间查询中,查询条件往往包含一些一维查询的条件的限制。当把查询直接提交给Oracle数据库进行执行时,Oracle数据库并不会区分一维查询的条件和空间查询的条件,直接进行一次過滤与二次过滤,得到查询的数据,而在一次过滤时,往往要过滤的数据量就可能会很大,因此会十分耗时。如果当空间查询中包含普通一维查询条件时,或许可以利用一维查询条件使得执行一次过滤时的数据量减少,从而减少空间查询所需消耗的时间,提高空间查询的效率。优化原理也正是基于上个段落中提到的想法,当空间查询包含普通一维查询时,将空间查询分两步进行:第一步,根据一维查询的条件执行普通一维查询,将查询得到的结果存入临时表中;第二步,根据空间查询的条件,对创建的临时表进行查询,得到原查询应得到的结果。如果,当根据一维查询的条件执行普通一维查询的所得到的数据较原查询一次过滤时需处理的数据量有明显减少时,便可起到减少时间、提高效率的优化作用。
  2、空间查询优化的技术支持
  OCI是Oracle提供的调用接口,英文全称为OracleCallInterface。它是Oracle数据库的最底层数据访问接口,在各类访问接口中,功能最全、效率最高,却也最复杂,但是OCI却提供了很好的灵活性和高效性,为用户的二次开发提供了很好的平台。
  3、空间查询优化程序的设计
  (一)、程序流程
  空间查询优化程序接收输入的空间查询SQL语句,判定其是否符合优化程序的优化条件。如果不符合优化的条件,则直接执行SQL语句,进行空间查询;如果需要优化,则进入优化程序。首先,分析输入的SQL语句,提取语句中要查询的列、需要查询的表格、查询条件中关于空间查询的限制以及关于普通一维查询的限制;然后,根据已提取出的内容,生成新的SQL语句;最后提交给Oracle数据库执行,将结果显示出来并存入文件中。
  (二)、可优化的条件
  当查询的条件中包含两个或两个以上的约束,并且约束条件中至少有一个为空间查询的约束时,即可实行优化,否则的话,程序将不会进行任何优化,直接把SQL语句直接提交给Oracle数据库执行。
  4、空间查询优化程序的实现
  (一)、SQL语句的分析与优化
  由于SQL语句良好的语法结构和空间查询函数的结构特点,因此很容易将空间查询的SQL语句进行分析,例如,可以很清楚的知道所要查询的内容在select——from字段之间,所查询的表在from——where之间,查询的约束条件在where字段之后;而约束条件的区分则依靠空间查询函数的特点——以“sdo_xxx”作为函数的开始。在分析过程中,由于要进行字符串的匹配,为了提高匹配的效率,在匹配过程中采用了KMP算法。
  (二)、优化语句的生成
  优化语句的生成分两步执行。生成优化语句的第一步是根据普通一维查询的约束条件,将所要查询的表的符合约束条件的所有内容存入到临时表中。
  (三)、提交优化后的SQL语句
  优化工作的最后一步为将优化后的SQL语句提交给数据库执行,显示查询结果并将结果写入到文件中。在输出的过程中,必须知道每一列的类型才可以输出结果。类型的明确通过调用OCI提供的OCIAttrGet函数实现,将每一列的类型记录到对应的标识列类型的数组中,在输出时,根据列的类型将相应的值写入用于输出的变量中,显示在屏幕上、存储在文件中。整个优化工作完成,结束会话,断开与数据库的连接,程序结束。
  五、结束语
  空间数据库发展至关重要,因此,基于OracleSpatial的空间数据库的索引与查询优化,要不断提高技术水平,加强对空间数据库的索引与查询的重视,促进OracleSpatial的空间数据库应用水平的提高。
  参考文献
  [1]潘农菲.基于OracleSpatial的GIS空间数据处理及应用系统开发[J].计算机工程,2002
  [2]王宝武,董慧君.基于OracleSpatial的web实现方案[J].信息技术与信息化,2007
  [3]梁鸿,丁仁伟,郑红霞.OracleSpatial空间数据库的设计及应用[J].测绘科学,2005
其他文献
摘要:机电安装是建筑工程的重要组成部分。对于施工企业来说,只有充分调动和发挥企业团队的主观能动性和创造性,使用高质量的机电材料,采用先进施工技术才能保证机电安装施工质量,推动企业向前发展。本文简单介绍了建筑机电安装施工管理的措施。  关键词:建筑机电;安装工程;施工管理  中图分类号: F407 文献标识码: A  引言  一个好的建筑一定要严抓机电工程建设这块,它是决定建筑质量的重要因素。建筑机
期刊
摘要:随着中国经济实力、科技实力的逐步增强,根据中国政府“走出去”战略的导向,中国在国外所承揽的工程项目也越来越多,所承揽的工程项目技术性也越来越强,所承揽的项目也越来越多样化,当然面对着国际的竞争压力也越来越大。本文就做好海外项目的成本管理,提高成本管理水平进行了分析论述。  关键词:海外工程;项目成本;成本管理  中图分类号: C93 文献标识码: A  引言  随着我国工程企业在国际市场的不
期刊
摘 要:后张法预应力混凝土梁板是现今公路、铁路工程中桥梁常用的上部结构形式之一,因此加强后张法预应力梁板施工工艺的研究是提高桥梁工程质量的一个重要途径,只有不断提高后张法预应力梁板预制的施工工艺过程,才能保证预应力混凝土梁板的外观及内在质量。  关键词:后张法预应力;梁板预制;施工工艺  中图分类号:U215文献标识码: A  引言  近年来,后张法预应力形梁在桥梁建设中被广泛使用,作为桥梁的直接
期刊
摘要:在当今社会,建筑工程项目管理措施应当有所变化和改进这样更有利于达到各方面效益的最大化。本文介绍了此背景下的建筑工程管理项目一些管理措施。  关键词:建筑工程;项目管理;管理措施  中图分类号:TU198文献标识码: A  引言  当今年代竞争的全球化和国际化对建筑工程项目的管理提出了新的要求,越来越多的建筑企业更加重视建筑工程管理项目的措施的改进。建筑工程项目管理作为一门应用科学,它反映的是
期刊
摘要:在房屋建筑施工过程中,容易因为施工质量问题而产生混凝土结构裂缝,为了避免混凝土结构裂缝的出现,房建施工中开始应用后浇带施工技术。本文就主要对后浇带施工技术在建筑工程中的应用进行了简要分析。  关键词:建筑工程;后浇带;施工技术  中图分类号: TU198 文献标识码: A  引言  后浇带是为了防止混凝土施工中出现裂缝而提出的施工措施。在进行施工的过程中通过在底板以及墙体等部位设置施工裂缝的
期刊
摘要:水利工程是事关国计民生的重大工程,无论规模大小,都是牵动着广大人民的切身利益,作为一种技术,能够在我们的工程中切实进行利用,如何能够利用时水利人都需要关注的问题。  关键词:漏水;基础;灌浆技术  中图分类号: U445.55+2文献标识码:A  0、引言  水利工程是事关国计民生的重大工程,无论规模大小,都是牵动着广大人民的切身利益,作为一种技术,能够在我们的工程中切实进行利用,如何能够利
期刊
摘要:在当今国际、国内经济快速发展的趋势下,当前工程质量监督体制改革也势在必行,因此,开发建筑工程质量管理,应当认清目前自身所处的位置,明确自身所面临的紧迫性,积极探索监督体制改革的思路与对策,更好地开展工程质量监督工作。  关键词:建筑工程;质量监督;策略  中图分类号:TU198文献标识码: A  一、建筑工程质量监督的重要性  建筑工程质量监督工作有利于生产领域之间更通畅的交流,并与经济因素
期刊
摘要:在市场经济中,为了更好满足企业的发展,机械产品越来越先进,品种越来越多:这就要求我们在机械设计当中,对材料的选择;标准化的应用提高到一个新的认识,在加工过程中,减少影响表面层物理力学性能的因素努力把我们加工成本降到合理的水平,从而提高企业的经济效益,本文主要对机械设计加工中应注意的几个问题进行了叙述,仅供参考。  关键词:机械设计;加工;材料选择  中图分类号:F407文献标识码: A  一
期刊
摘要:绿色建筑设计的理念,是在人们对环境保护和节能减排意识的基础上应运而生的。绿色建筑是一种能够促进建筑、人和自然环境和谐发展的建筑,是在保证建筑符合人们生活要求的前提下,尽可能最大限度的节约各种资源和能源,并减少其对环境带来的各种污染和社会危害。文章指出了绿色建筑设计的标准,并分析了绿色建筑设计的节能主因素。  关键词:绿色建筑;设计标准;设计原则;节能设计  中图分类号: S611 文献标识码
期刊
摘要:在化工工艺设计时,必须预测分析工艺过程中的潜在危险因素。化工工艺作为指导整个生产的方案更是应该注重安全。本文剖析了化工工艺设计存在的问题,并针对这些问题提出了相应的改进措施。以期在工程实际中可以提供理论借鉴与指导。  关键词:化工工艺;工艺设计;要点探析  中图分类号: S611 文献标识码: A  引言  化工行业在国家的发展和居民的生活中都扮演着重要角色,化工行业不同于其他行业有其自身的
期刊