重庆邮电大学:《高级数据库系统技术》课程教学资源(课件讲稿)09 查询处理与查询优化

查询处理与优化 夏英 (xiaying@cqupt.edu.cn) 重庆邮电大学计算机学院
查询处理与优化 夏英 (xiaying@cqupt.edu.cn) 重庆邮电大学计算机学院

主要内容 ■查询处理的步骤 ■查询代价的度量 ■典型运算的代价分析—选择、排序、连接 查询优化方法
主要内容 查询处理的步骤 查询代价的度量 典型运算的代价分析——选择、排序、连接 查询优化方法

查询处理和优化 任务:根据用户命令从数据库中高效地提取数据 ●查询处理是 RDBMS的核心,查询优化是查询处理的关键 ●用户只需提出“做什么”,不必说明“怎么做”,由系统 选择有效的执行策略,提高查询性能
查询处理和优化 任务:根据用户命令从数据库中高效地提取数据 查询处理是RDBMS的核心,查询优化是查询处理的关键 用户只需提出 “做什么 ”,不必说明 “怎么做 ”,由系统 选择有效的执行策略,提高查询性能

DBMS的运行过程(从用户的角度) 以某一应用程序读取数据库中的记录为例 1.APP向DBMS发出访问DB的命令,其中给出了关系名和 查询条件; 2.DBMS读取数据字典,检查是否存在该关系和相应的字 段,并对该命令进行语法检查和用户存取权限检查。 如果数据库和相应的字段在、命令语法和语义正确且 存取权限合法,则执行该命令,否则拒绝并返回出错 信息 3.执行该命令时,首先根据数据字典中的定义信息将命令 中的外模式映射到模式,确定应该读如哪些记录; 4.根据数据字典中的定义信息,将模式映射到内模式,确 定应该读入哪些物理记录及有关的地址信息;
DBMS的运行过程 (从用户的角度) 以某一应用程序读取数据库中的记录为例 1. APP向DBMS发出访问DB的命令,其中给出了关系名和 查询条件; 2. DBMS读取数据字典,检查是否存在该关系和相应的字 段,并对该命令进行语法检查和用户存取权限检查。 如果数据库和相应的字段在、命令语法和语义正确且 存取权限合法,则执行该命令,否则拒绝并返回出错 信息; 3. 执行该命令时,首先根据数据字典中的定义信息将命令 中的外模式映射到模式,确定应该读如哪些记录; 4. 根据数据字典中的定义信息,将模式映射到内模式,确 定应该读入哪些物理记录及有关的地址信息;

5.DBMS向OS发送读取该记录的命令; 6.OS执行读取数据的有关操作,从指定地址读取记录并存入 系统缓冲区; 7.DBMS将系统缓冲区中的数据转换为模式并进而转换为外 模式; 8.DBMS将系统缓冲区外模式形式的记录返回给应用程序; 9DBMS将运行情况登记在运行日志中; 10.DBMS将命令执行状态返回APP; 11.若APP中的命令需读取多条记录,则反复执行410步
5. DBMS向OS发送读取该记录的命令; 6. OS执行读取数据的有关操作,从指定地址读取记录并存入 系统缓冲区; 7. DBMS将系统缓冲区中的数据转换为模式并进而转换为外 模式; 8. DBMS将系统缓冲区外模式形式的记录返回给应用程序; 9. DBMS将运行情况登记在运行日志中; 10. DBMS将命令执行状态返回APP; 11. 若APP中的命令需读取多条记录,则反复执行4-10步

查询处理的步骤 语法分析与翻译( Parsing and translation 2优化( Optimization) 3.执行( Evaluation) query parser and relational-algebra translator expression optimizer>← query evaluation engine output execution plan data statistics about data
查询处理的步骤 1. 语法分析与翻译 (Parsing and translation ) 2. 优化 (Optimization ) 3. 执行 (Evaluation )

查询处理的步骤 语法分析与翻译 扫描、识别SQL语句,进行词法、语法解析,判断是否符合SQL 语法规则 检查语句中的关系名是否存在和有效,检查用户与权限和完整性 约束 把SQL语句转换成等价的内部表示形式(语法分析树,或进一步 翻译成关系代数表达式,代表一种执行计划) ■优化 选择一个高效执行的查询执行计划 ●选择的依据:基于代价 执行 按照选定的查询执行计划执行,并输出结果
查询处理的步骤 语法分析与翻译 扫描 、识别SQL语句,进行词法 、语法解析,判断是否符合SQL 语法规则 检查语句中的关系名是否存在和有效,检查用户与权限和完整性 约束 把SQL语句转换成等价的内部表示形式 (语法分析树,或进一步 翻译成关系代数表达式,代表一种执行计划 ) 优化 选择一个高效执行的查询执行计划 选择的依据:基于代价 执行 按照选定的查询执行计划执行,并输出结果

查询优化 ■在SQL中,一个查询可有多种表示方式,不要期待用户 写出具有最高效率执行计划的查询语句 个关系代数表达式可能有多个等价的表达式 如oay70 ar(instructor))-等价于 Isalarvosalarv 75000(instructor)) ■每个关系代数运算通常有多重计算方式,即执行计划 ●如,可以利用 salary上的索引查找 salary<75000的 instructors 或者,扫描全表并去掉 salary≥75000的 Instructors ■不同的执行计划有不同的代价
查询优化 在SQL中,一个查询可有多种表示方式,不要期待用户 写出具有最高效率执行计划的查询语句 一个关系代数表达式可能有多个等价的表达式 如 σsalary<75000(∏salary(instructor))等价于 ∏salary(σsalary<75000(instructor)) 每个关系代数运算通常有多重计算方式,即执行计划 如, 可以利用salary上的索引查找salary < 75000的instructors 或者,扫描全表并去掉salary ≥ 75000的instructors 不同的执行计划有不同的代价

name, title ∏ title dept_name= music instructor deptname= Music teaches course instructor teaches COurse 同一查询的不同执行计划
同一查询的不同执行计划

name, title (sort to remove duplicates) Chash join) <(merge join) course pipeline pipeline dept_name= music year=2009 use index (use linear scan) instructor eaches 一个更详细的执行计划
一个更详细的执行计划
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 重庆邮电大学:《高级数据库系统技术》课程教学资源(课件讲稿)08 并发控制 Concurrency Control.pdf
- 重庆邮电大学:《高级数据库系统技术》课程教学资源(课件讲稿)07 事务与数据库恢复.pdf
- 重庆邮电大学:《高级数据库系统技术》课程教学资源(课件讲稿)06 索引结构.pdf
- 重庆邮电大学:《高级数据库系统技术》课程教学资源(课件讲稿)05 数据库存储管理与文件结构.pdf
- 重庆邮电大学:《高级数据库系统技术》课程教学资源(课件讲稿)04 DBMS内核简介.pdf
- 重庆邮电大学:《高级数据库系统技术》课程教学资源(课件讲稿)03 关系数据库设计.pdf
- 重庆邮电大学:《高级数据库系统技术》课程教学资源(课件讲稿)02 关系数据库与SQL.pdf
- 重庆邮电大学:《高级数据库系统技术》课程教学资源(课件讲稿)16 多媒体数据库.pdf
- 重庆邮电大学:《高级数据库系统技术》课程教学资源(课件讲稿)15 流数据管理.pdf
- 重庆邮电大学:《高级数据库系统技术》课程教学资源(课件讲稿)14 时空数据管理与分析.pdf
- 重庆邮电大学:《高级数据库系统技术》课程教学资源(课件讲稿)13 空间数据库.pdf
- 重庆邮电大学:《高级数据库系统技术》课程教学资源(课件讲稿)12 云数据库管理系统.pdf
- 重庆邮电大学:《高级数据库系统技术》课程教学资源(课件讲稿)11 分布式数据库.pdf
- 重庆邮电大学:《高级数据库系统技术》课程教学资源(课件讲稿)10 数据库技术发展概述&分布式关系型数据库.pdf
- 重庆邮电大学:《高级数据库系统技术》课程教学资源(课件讲稿)01 绪论(夏英).pdf
- 重庆大学:《通信网络中的排队论基础》研究生课程(讲义)第5章 GMm排队模型.pdf
- 重庆大学:《通信网络中的排队论基础》研究生课程(讲义)第4章 MG1排队模型.pdf
- 重庆大学:《通信网络中的排队论基础》研究生课程(讲义)第3章 爱尔朗排队系统.pdf
- 重庆大学:《通信网络中的排队论基础》研究生课程(讲义)第2章 平衡状态下的生灭过程.pdf
- 重庆大学:《通信网络中的排队论基础》研究生课程(讲义)第1章 排队论概论(编著:江禹生).pdf
- 重庆大学:《计算机图形学》课程教学课件(讲义)01 数字化建筑设计理论与方法——建筑数字技术概论(主讲:曾旭东).pdf
- 重庆大学:《计算机图形学》课程教学课件(讲义)02 数字建筑——-非线性建筑案例分析 非线性建筑 & 参数化主义 Non - linear Architecture & PARAMETRICISM.pdf
- 重庆大学:《计算机图形学》课程教学课件(讲义)03 CAD技术的五次重大革命.pdf
- 重庆大学:《计算机图形学》课程教学课件(讲义)04 数字化建筑设计理论与方法——建筑信息模型(建筑BIM技术).pdf
- 重庆大学:《计算机图形学》课程教学课件(讲义)05 BIM模型建模技术——ArchiCAD 虚拟建筑——BIM为建筑设计领域带来了第二次革命.pdf
- 重庆大学:《计算机图形学》课程教学课件(讲义)06 BIM技术——基于自主规则设定的全方位碰撞检查技术 Building Informationg Modeling —The Omni-bearing Collision Check Technology Based on Rule Definition.pdf
- 重庆大学:《计算机图形学》课程教学课件(讲义)07 数字分析技术——空间句法.pdf
- 重庆大学:《大数据技术基础》课程教学资源(课件讲稿)10 数据可视化 Visualization.pdf
- 重庆大学:《大数据技术基础》课程教学资源(课件讲稿)11 NoSQL数据库.pdf
- 重庆大学:《大数据技术基础》课程教学资源(课件讲稿)12 大数据技术应用(应用举例).pdf
- 重庆大学:《大数据技术基础》课程教学资源(课件讲稿)13 大数据技术应用(大数据商业应用).pdf
- 重庆大学:《大数据技术基础》课程教学资源(课件讲稿)01 大数据概述.pdf
- 重庆大学:《大数据技术基础》课程教学资源(课件讲稿)02 大数据关键技术与挑战.pdf
- 重庆大学:《大数据技术基础》课程教学资源(课件讲稿)03 Hadoop.pdf
- 重庆大学:《大数据技术基础》课程教学资源(课件讲稿)04 MapReduce.pdf
- 重庆大学:《大数据技术基础》课程教学资源(课件讲稿)05 HDFS.pdf
- 重庆大学:《大数据技术基础》课程教学资源(课件讲稿)06 HBase.pdf
- 重庆大学:《大数据技术基础》课程教学资源(课件讲稿)07 图计算 Graph Computing.pdf
- 重庆大学:《大数据技术基础》课程教学资源(课件讲稿)08 流计算 Stream Computing.pdf
- 重庆大学:《大数据技术基础》课程教学资源(课件讲稿)09 Spark内存计算.pdf