论文部分内容阅读
数据库自从成为最常用的数据管理方式以后,逐步向数据结构日渐复杂、数据量日渐庞大、应用场合日渐广泛的方向迅速发展和完善。数据库与应用软件的紧密结合使用户对数据库性能的需求逐渐提高,尤其是在海量存储的数据库系统中变得愈加明显。除了软件和硬件条件本身的限制外,数据库中查询语句的执行效率也是影响其性能的关键因素[1],SQL语句的执行消耗大部分的数据库资源,包括CPU消耗、内存消耗、物理块读取消耗等,因此有必要对SQL语句进行优化调整,对提升数据库性能有重要的意义。本文分析了Oracle数据库中SQL语句的执行过程和查询机制,研究了SQL语句在Oracle数据库中的处理方式、执行路径和影响执行计划的因素,并作为SQL语句优化规则制定和生效的理论来源。同时结合对SQL语句进行优化的目标得出具体的优化规则,优化规则的内容包括已经存在的优化规则、研究中最新提出的优化规则和通常认识中错误的优化规则,对优化的SQL语句样本进行分析统计并总结出规则生效或失效的原因。研究内容还包括Oracle数据库对SQL语句解析和执行的统计信息的存储方式,查找系统中被解析和执行过的效率较低的SQL语句,同时诊断和检查执行语句的性能问题并提出优化建议。本文的主要研究成果和创新点是获得Oracle数据库的优化规则,并通过调用Oracle系统命令的方式设计了一个优化方案来判断优化规则的有效性,实现了一个支撑工具获取Oracle数据库中低效的SQL语句,最后自动诊断所执行的SQL语句的性能并给出优化建议。