文件名称:查询优化-ubuntu 18.04 安装opencv3.4.5的教程(图解)
文件大小:4.99MB
文件格式:PDF
更新时间:2024-07-15 01:58:50
数据库系统概 王珊 课后习题
9.1 复习笔记 一、概述 本章介绍关系数据库的查询处理(query processing)和查询优化(query optimization)技术。查询优化一般 可分为代数优化(也称为逻辑优化)和物理优化(也称为非代数优化)。代数优化是指关系代数表达式的优化, 物理优化则是指通过存取路径和底层操作算法的选择进行的优化。 二、关系数据库系统的查询处理 查询处理是关系数据库管理系统执行查询语句的过程,其任务是把用户提交给关系数据库管理系统的查询语 句转换为高效的查询执行计划。 1.查询处理步骤 关系数据库管理系统查询处理可以分为 4个阶段:查询分析、查询检查、查询优化和查询执行,如图 9-1所 示。 图 9-1 查询处理步骤 (1)查询分析 首先对查询语句进行扫描、词法分析和语法分析。从查询语句中识别出语言符号,如 SQL 关键字、属性名 和关系名等,进行语法检查和语法分析,即判断查询语句是否符合 SQL 语法规则。 (2)查询检查 根据数据字典中有关的模式定义检查语句中的数据库对象,如关系名、属性名是否存在和有效。如果是对视 图的操作,则要用视图消解方法把对视图的操作转换成对基本表的操作。还要根据数据字典中的用户权限和完整 性约束。对用户的存取权限进行检查时,如果该用户没有相应的访问权限或违反了完整性约束,就拒绝执行该查 询。检查通过后便把 SQL 查询语句转换成内部表示,即等价的关系代数表达式。这个过程中要把数据库对象的 外部名称转换为内部表示。关系数据库管理系统一般都用查询树(query tree),也称为语法分析树(syntax tree) 来表示扩展的关系代数表达式。 (3)查询优化 查询优化就是选择一个高效执行的查询处理策略。查询优化有多种方法。按照优化的层次一般可将查询优化 分为代数优化和物理优化。 87