第9章数据库查询优化9.1关系数据库系统的查询处理9.2关系数据库系统的查询优化9.3基于半联接的查询优化9.4基于枚举法的查询优化
第9章 数据库查询优化 9.1 关系数据库系统的查询处理 9.2 关系数据库系统的查询优化 9.3 基于半联接的查询优化 9.4 基于枚举法的查询优化
9.1关系数据库系统的套询处理查询语句+词法分析语法分析查询分析语义分析符合名转换安全性检查查询检查完整性检查数据字典查询树T代数优化查询优化物理优化执行策略!<查询执行代码生成执行代码!
9.1 关系数据库系统的查询处理
9.2关系数据库系统的套询优化·查询优化的必要性一查询优化极大地影响RDBMS的性能。·查询优化的可能性一关系数据语言的级别很高,使DBMS可以从关系表达式中分析查询语义
9.2 关系数据库系统的查询优化 •查询优化的必要性 –查询优化极大地影响RDBMS的性能。 •查询优化的可能性 –关系数据语言的级别很高,使DBMS可 以从关系表达式中分析查询语义
9.2关系数据库系统的套询优化·用户不必考虑如何最好地表达查询以获得较好的效率·系统可以比用户程序的优化做得更好(1)优化器可以从数据字典中获取许多统计信息,而用户程序则难以获得这些信息
9.2 关系数据库系统的查询优化 • 用户不必考虑如何最好地表达查询以获 得较好的效率 • 系统可以比用户程序的优化做得更好 (1) 优化器可以从数据字典中获取许多统计信息, 而用户程序则难以获得这些信息
9.2关系数据库系统的查询优化(2)如果数据库的物理统计信息改变了,系统可以自动对查询重新优化以选择相适应的执行计划。在非关系系统中必须重写程序,而重写程序在实际应用中往往是不太可能的。3优化器可以考虑数百种不同的执行计划,而程序员一般只能考虑有限的几种可能性。4)优化器中包括了很多复杂的优化技术
9.2 关系数据库系统的查询优化 (2)如果数据库的物理统计信息改变了,系统可以自 动对查询重新优化以选择相适应的执行计划。 在非关系系统中必须重写程序,而重写程序在实际 应用中往往是不太可能的。 (3)优化器可以考虑数百种不同的执行计划,而程序 员一般只能考虑有限的几种可能性。 (4)优化器中包括了很多复杂的优化技术