使用B+树进行排序 ●聚集的索引 ○由于磁盘上的数据是已经排序的,而且上层有一个索引结 构,所以査询和排序操作性能均很高 ●非聚集的索引 O Data entry中的数据是排序的,但数据在磁盘上的存储次 序是杂乱无章的。 计算量是什+p)*N,N是数据页的数量,p是每页平均包含的 记录数,{是 data entry中每条记录的长度同记录的长度的 比
使用B+树进行排序 ⚫ 聚集的索引 由于磁盘上的数据是已经排序的,而且上层有一个索引结 构,所以查询和排序操作性能均很高。 ⚫ 非聚集的索引 Data entry中的数据是排序的,但数据在磁盘上的存储次 序是杂乱无章的。 计算量是(f+p)*N,N是数据页的数量,p是每页平均包含的 记录数,f是data entry中每条记录的长度同记录的长度的 比
关系操作的执行 ●查询操作是查询执行的基本组成部分 ●査询操作包括:选择、投影、联接 ●每个查询操作均有多种实现方法 ●査询优化部分根据数据库的实际情况选择 查询操作的执行方法
关系操作的执行 ⚫查询操作是查询执行的基本组成部分 ⚫查询操作包括:选择、投影、联接 ⚫每个查询操作均有多种实现方法 ⚫查询优化部分根据数据库的实际情况选择 查询操作的执行方法
关系操作的执行 ●查询过程简介 ● Selection操作 ● General selection操作 ● Project操作 ●Join操作 ●Set操作 ●聚集操作 ●缓冲区的影响
关系操作的执行 ⚫查询过程简介 ⚫Selection 操作 ⚫General Selection操作 ⚫Project 操作 ⚫Join 操作 ⚫Set操作 ⚫聚集操作 ⚫缓冲区的影响
查询过程介绍 ●影响查询操作算法性能的因素 ○数据库表的大小、索引、排序情况、缓冲区的大 小和置换策略 ●各个操作实现时常用的基本技术 iTeration:对数据库的表和 data entry中的数据逐 个进行检测 iNdexing:如果选择和连接操作中有限制条件,可 通过索引找到满足条件的元组 PArtitioning:将一个表分成若干部分,从而降低 操作的执行代价,常用排序和散列进行分区
查询过程介绍 ⚫影响查询操作算法性能的因素 数据库表的大小、索引、排序情况、缓冲区的大 小和置换策略 ⚫各个操作实现时常用的基本技术 Iteration:对数据库的表和data entry中的数据逐 个进行检测 Indexing:如果选择和连接操作中有限制条件,可 通过索引找到满足条件的元组 Partitioning:将一个表分成若干部分,从而降低 操作的执行代价,常用排序和散列进行分区
访问路径( Access Paths ●各种从关系表中访问记录的方法称为访问 路径 ●访问路径的方式 ○文件扫描( File scan) ○索引加上选择匹配条件,如 latte op value ●索引要建在att上 op包括<,<=,= ○访问路径的选择率( selectivity)是总共访问的页数 (包括索引访问部分),查询优化的目的是选择高 选择率的访问路径(即访问的页数少的)
访问路径(Access Paths) ⚫各种从关系表中访问记录的方法称为访问 路径 ⚫访问路径的方式 文件扫描(File Scan) 索引加上选择匹配条件,如attr op value ⚫索引要建在attr上 ⚫op包括<,<=,==,=>, 访问路径的选择率(selectivity)是总共访问的页数 (包括索引访问部分),查询优化的目的是选择高 选择率的访问路径(即访问的页数少的)