���1、查询处理是指从数据库里提取数据的一系列活动,它包括三个方面:-语法分析与翻译-查询优化-查询执行
���2、查询执行计划是用于计算一个查询的原语序列,而原语是附加有注释的关系代数运算,这些注释是用来说明执行该关系运算所采用的算法或要使用的索引;
���3、查询优化是为给定查询选择最有效的查询执行计划的过程:-一方面是利用关系代数的等价规则在关系代数级进行优化;-另一方面是查询语句处理的策略选择,包括算法、索引和求值方法(实体化、流水线)等;
���4、两个关系代数表达式是等价的,它的含义是指这两个关系代数表达式产生的结果关系具有相同的属性集和相同的元组集,但各属性在结果中出现的次序可以不同;
���5、查询处理的代价通过对以下资源的使用进行衡量:-磁盘存取-所用的CPU时间-相关的通信开销
���6、磁盘存取代价是查询执行计划的一个合理度量,这是由于:-磁盘存取涉及到机械动作,比内存操作要慢得多-CPU的速度提升要快,且CPU的代价很难估计
���7、磁盘的存取代价模型:-用从磁盘向主存传送的块数来度量;-假设所有的块传送代价相同,它忽略了:①寻道时间②旋转等待时间-忽略了将查询结果写回磁盘的代价-假设实现关系运算的算法代价是在最坏情形下的代价,即主存中缓冲区没有足够的空闲空间
���8、用于估计磁盘存取代价的DBMS的统计信息主要有:-nr:关系r中元组的个数-br:含有关系r元组的物理块个数-sr:关系r的元组大小-fr:关系r的块因子,即表示一个块能够存储多少个关系r的元组-V(A,r):关系r中属性A所具有的不同值的数目-SC(A,r):关系r的属性A的选择基数。-HTi:索引i的高度
���9、用于选择运算的搜索算法主要有:-没有索引的文件扫描-利用索引的索引扫描
���10、实现连接运算的算法有:-嵌套循环连接算法-索引嵌套循环连接算法
���11、关系代数表达式的求值方法有:-实体化计算方法-流水线计算方法
���12、查询优化的方法:-基于代价的优化:说起来容易做起来难,优化本身的代价太高;-启发式优化:利用启发式规则进行优化,摸着石头过河。实际DBMS中的查询优化器是两者的结合,而且要比讲课内容复杂得多,这是各家DBMS厂商竞争的焦点之一。
��