第12章查询处理技术 本章概迷 本章的学习目标 至要内容 数据库系统原理与应用教程(第二版) 第12章查询处理技术 第1页
数据库系统原理与应用教程(第二版) 第12章 查询处理技术 第1页 第12章 查询处理技术 本章概述 本章的学习目标 主要内容
本章概述 ●对于查询,我们已经不陌生了,前面讲过的许多内容都已 经涉及到了查询这个概念。使用关系代数表示各种查询运 算,使用 Datalog语言表示递归查询,使用SQL语言执行 各种查询操作,虽然这些都是与查询处理技术有关的内容, 但是这些都是从用户的角度看到的内容。 为了更有效地提高查询语句的效率,我们还需要从系统设 计人员的角度出发,看看系统内部是如何分析和处理查询 语句的,以便掌握査询处理的核心技术。例如,作为一个 数据库专业技术人员,不单单要掌握如何使用一个SQL命 令,还需要掌握如何评价该SQL命令的执行效率,了解该 命令的执行成本是高还是低,这样才能编写出高效率的查 询语句。 数据库系统原理与应用教程(第二版) 第12章查询处理技术 第2页
数据库系统原理与应用教程(第二版) 第12章 查询处理技术 第2页 本章概述 ⚫ 对于查询,我们已经不陌生了,前面讲过的许多内容都已 经涉及到了查询这个概念。使用关系代数表示各种查询运 算,使用Datalog语言表示递归查询,使用SQL语言执行 各种查询操作,虽然这些都是与查询处理技术有关的内容, 但是这些都是从用户的角度看到的内容。 ⚫ 为了更有效地提高查询语句的效率,我们还需要从系统设 计人员的角度出发,看看系统内部是如何分析和处理查询 语句的,以便掌握查询处理的核心技术。例如,作为一个 数据库专业技术人员,不单单要掌握如何使用一个SQL命 令,还需要掌握如何评价该SQL命令的执行效率,了解该 命令的执行成本是高还是低,这样才能编写出高效率的查 询语句
本章的学习目标 ●了解查询处理的基本概念和步骤; 掌握评价査询处理的代价模型和度量指标; ●理解和掌握选择运算的处理步骤和评价方式; ●理解和掌握连接运算的处理步骤和评价方式; ●理解集合和排序运算的处理步骤和评价方式; ●了解和掌握处理表达式运算的方法和步骤 数据库系统原理与应用教程(第二版) 第12章查询处理技术 第3页
数据库系统原理与应用教程(第二版) 第12章 查询处理技术 第3页 本章的学习目标 ⚫ 了解查询处理的基本概念和步骤; ⚫ 掌握评价查询处理的代价模型和度量指标; ⚫ 理解和掌握选择运算的处理步骤和评价方式; ⚫ 理解和掌握连接运算的处理步骤和评价方式; ⚫ 理解集合和排序运算的处理步骤和评价方式; ⚫ 了解和掌握处理表达式运算的方法和步骤
主要内容 121概述 122查询处理的代价模型 123单个关系运算的代价估计 124表达式运算的代价估计 125 Microsoft SQL Server系统的查询处理 器 126本章小结 数据库系统原理与应用教程(第二版) 第12章查询处理技术 第4页
数据库系统原理与应用教程(第二版) 第12章 查询处理技术 第4页 主要内容 12.1 概述 12.2 查询处理的代价模型 12.3 单个关系运算的代价估计 12.4 表达式运算的代价估计 12.5 Microsoft SQL Server系统的查询处理 器 12.6 本章小结
121概述 查询语句 语法分析和翻译 关系代数表达式 优化器 数据统计信息 执行计划 执行引擎 数据 查询结果输出 数据库系统原理与应用教程(第二版) 第12章查询处理技术 第5页
数据库系统原理与应用教程(第二版) 第12章 查询处理技术 第5页 12.1 概述
主要内容 121概述 122查询处理的代价模型 123单个关系运算的代价估计 124表达式运算的代价估计 125 Microsoft SQL Server系统的查询处理 器 126本章小结 数据库系统原理与应用教程(第二版) 第12章查询处理技术 第6页
数据库系统原理与应用教程(第二版) 第12章 查询处理技术 第6页 主要内容 12.1 概述 12.2 查询处理的代价模型 12.3 单个关系运算的代价估计 12.4 表达式运算的代价估计 12.5 Microsoft SQL Server系统的查询处理 器 12.6 本章小结
122查询处理的代价模型 ●下面研究如何构造一个代价模型,利用该 模型对各种查询运算的代价进行估计,以 便对查询语句进行最优选择。 ●为了选择最优的查询执行计划,需要对该 计划进行代价估计。查询优化器利用存储 在数据库管理系统中的统计信息来估计计 划代价,这些信息包括关系的相关系统统 计信息和索引的相关系统统计信息,分别 如表12-1和122所示。 数据库系统原理与应用教程(第二版) 第12章查询处理技术 第7页
数据库系统原理与应用教程(第二版) 第12章 查询处理技术 第7页 12.2 查询处理的代价模型 ⚫ 下面研究如何构造一个代价模型,利用该 模型对各种查询运算的代价进行估计,以 便对查询语句进行最优选择。 ⚫ 为了选择最优的查询执行计划,需要对该 计划进行代价估计。查询优化器利用存储 在数据库管理系统中的统计信息来估计计 划代价,这些信息包括关系的相关系统统 计信息和索引的相关系统统计信息,分别 如表12-1和12-2所示
主要内容 121概述 122查询处理的代价模型 123单个关系运算的代价估计 124表达式运算的代价估计 125 Microsoft SQL Server系统的查询处理 器 126本章小结 数据库系统原理与应用教程(第二版) 第12章查询处理技术 第8页
数据库系统原理与应用教程(第二版) 第12章 查询处理技术 第8页 主要内容 12.1 概述 12.2 查询处理的代价模型 12.3 单个关系运算的代价估计 12.4 表达式运算的代价估计 12.5 Microsoft SQL Server系统的查询处理 器 12.6 本章小结
123单个关系运算的代价估计 °下面我们讨论单个关系运算时如何使用代 价模型估计运算的成本,这些运算包括选 择运算、连接运算和集合运算等。 数据库系统原理与应用教程(第二版) 第12章查询处理技术 第9页
数据库系统原理与应用教程(第二版) 第12章 查询处理技术 第9页 12.3 单个关系运算的代价估计 ⚫ 下面我们讨论单个关系运算时如何使用代 价模型估计运算的成本,这些运算包括选 择运算、连接运算和集合运算等
选择运算的代价估计 ●在选择运算中,可以使用下面一些算法, 例如,线性搜索、二分法搜索以及利用索 引等,对选择运算进行代价估计。 数据库系统原理与应用教程(第二版) 第12章查询处理技术 第10页
数据库系统原理与应用教程(第二版) 第12章 查询处理技术 第10页 选择运算的代价估计 ⚫ 在选择运算中,可以使用下面一些算法, 例如,线性搜索、二分法搜索以及利用索 引等,对选择运算进行代价估计