论文部分内容阅读
数据库技术是计算机科学领域中应用最广的技术之一。作为数据库的重要组成部分,查询优化器对数据库系统的性能有着举足轻重的影响。目前,查询优化器主要采用的优化方法有规则优化和代价优化两种。然而,由于这两种优化方法均有着各自的局限性,导致在实际应用中优化器有可能会生成性能糟糕的执行计划,从而阻碍数据库系统的有效运行。为了解决上述问题,交互式技术被引入了数据库中,交互式查询优化器应运而生。交互式技术包含了信息反馈工具和Hint命令两部分。在交互式环境下,一旦优化器产生了错误决策,DBA就可以通过信息反馈了解执行计划的具体生成过程,然后通过Hint命令进行相应的优化干预,对优化器的错误进行及时补救,最终有效改进数据库系统的性能。综上所述,本文对交互式技术在关系数据库优化器上的应用进行了研究。对于信息反馈工具,本文着重阐述了该工具三个组成模块的功能结构,并给出了详细的设计方案。而对于Hint命令,本文则针对当前国外主流商业数据库中由于多表查询的庞大执行计划空间所导致的多表Hint控制不精确问题,提出了一种基于关系代数连接运算的多表Hint控制模型,建立了多表Hint与优化器表连接执行计划之间的一一映射关系,在不改变优化器现有理论架构的基础上实现了多表Hint对执行计划各个部分的精确控制。此外,基于上述模型,本文还提出了一种冲突判断规则,不仅能够快速准确地判断出各种多表Hint在最大表参数集合不相同情况下的语义冲突,而且确保了控制模型具备良好的扩展性。最后,本文以国产数据库神舟Oscar为平台实现了上述各项关键技术,并通过具体实验对本文所述各种方法的正确性和有效性进行了验证。