论文部分内容阅读
查询优化是DBMS设计和实现采用的一项重要技术,是影响数据库性能的关键因素。ORDBMS在继承关系数据库技术的基础上,增加了面向对象特性,可以满足GIS,CIMS,OIS等新兴领域多维数据的复杂查询。因此,研究基于ORDBMS的查询优化技术具有良好的开发前景和商用价值。本文以ORDBMS为数据模型,在总结国内外数据库查询优化成果的基础上,通过分析现有研究中的不足,运用关系代数理论,采用对比、分解、封装、例证的方法,以DB2 UDB为运行平台,提出了一种基于代数树的查询优化技术,解决了查询优化过程中关于高价选择谓词、限定变元连接索引结构的具体问题。根据选择条件中可以包含用户自定义复杂函数的新特点,本文提出了一种基于代数树的Rolling_Up查询优化算法。在利用System R动态规划法和启发式规则为连接运算产生连接次序的基础上,计算选择条件的Rank值,搜索执行规划中的适当位置。该方法开销较小,且能产生优化的执行规划。针对原有算法不能直接应用于连接条件中含有自定义复杂函数结构的不足,本文提出了限定变换TR的概念,来限定连接谓词变元的取值范围,从而避免对整张关系表的扫描,达到了提高连接算法性能的目的。同时还把连接谓词索引推广到了一般形式,使之可以适用于多张表的连接。本文各章通过具体实例验证了基于代数树的ORDBMS查询优化技术的可行性和正确性,并证明了Rolling_Up优化算法能够在时间上获得较高的查询效率。