【数据库】第九章 关系查询处理与优化
创始人
2024-05-27 00:51:12
0

第九章 关系查询处理与优化

索引

在这里插入图片描述

索引文件是一种辅助存储结构,其存在与否不改变存储表的物理存储结 构;然而其存在,可以明显提高存储表的访问速度。

索引文件组织方式有两种:(相对照的,主文件组织有堆文件、排序文件、散列文件、 聚簇文件等多种方式)

  • 排序索引文件(Orderedindices):按索引字段值的某一种顺序组织存储

  • 散列索引文件(Hash  indices):依据索引字段值使用散列函数分配散列桶的 方式存储

特点

  • 在一个表上可以针对不同的属性或属性组合建立不同的索引文件,可建立 多个索引文件。索引字段的值可以是Table中的任何一个属性的值或任何多个 属性值的组合值

  • 索引文件比主文件小很多。通过检索一个小的索引文件(可全部装载进内 存),快速定位后,再有针对性的读取非常大的主文件中的有关记录

  • 有索引时,更新操作必须同步更新索引文件和主文件。

    • DBMS可以自动维护,table改变,索引也会有相应的改变

  • 索引技术应用使检索效率大幅度提高,但同时其也增加了存储空间、使维 护负担加重(不仅要维护主文件,而且要维护索引文件)

    衡量索引性能好坏

  • 访问时间

  • 插入时间

  • 删除时间

  • 空间负载

  • 支持存取的有效性

    • 比如:支持的是属性的限定值(是否符合单一值), 还是支持属性的限定范围的值(是否符合一定范围)

相关概念

在这里插入图片描述

创建索引

在这里插入图片描述

在这里插入图片描述

  • 对于主文件中每一个记录(形成的每一个索引字段值),都有一个索引项和它 对应,指明该记录所在位置。这样的索引称稠密索引(denseindex)
    • 候选键属性的稠密索引
      • 先查索引,然后再依据索引读主文件
    • 候选键属性的稠密索引(三种情况)
      在这里插入图片描述
      在这里插入图片描述

在这里插入图片描述

  • 对于主文件中部分记录(形成的索引字段值),有索引项和它对应,这样的索 引称非稠密索引(undense index)或稀疏索引(sparseindex)
    • 稀疏索引如何定位记录
      • 定位索引字段值为 K的记录,需要
        • 首先找相邻的小于K的最大索引字段值所对应的索引项
        • 从该索引项所对应的记录开始顺序进行Table的检索
      • 稀疏索引的使用要求—主文件必须是按对应索引字段属性排序存储
      • 相比稠密索引:空间占用更少,维护任务更轻,但速度更慢
      • 平衡:索引项不指向记录指针,而是指向记录所在存储块的指针,即每一 存储块有一个索引项,而不是每条记录有一索引项----主索引
        在这里插入图片描述
        在这里插入图片描述
        在这里插入图片描述

比较

  • 一个主文件仅可以有一个主索引,但可以有多个辅助索引
  • 主索引通常建立于主码/排序码上面;辅助索引建立于其他属性上面
  • 可以利用主索引重新组织主文件数据,但辅助索引不能改变主文件数据
  • 主索引是稀疏索引,辅助索引是稠密索引

聚簇索引与非聚簇索引

  • 聚簇索引—是指索引中邻近的记录在主文件中也是临近存储的;

  • 非聚簇索引—是指索引中邻近的记录在主文件中不一定是邻近存储的

特点

  • 如果主文件的某一排序字段不是主码,则该字段上每个记录取值便不唯 一,此时该字段被称为聚簇字段;聚簇索引通常是定义在聚簇字段上。
  • 聚簇索引通常是对聚簇字段上的每一个不同值有一个索引项(索引项的总数和 主文件中聚簇字段上不同值的数目相同),索引字段即是聚簇字段的不同值,由于有相同聚簇字 段值的记录可能存储于若干块中,则索引项的指针指向其中的第一个块。
  • 一个主文件只能有一个聚簇索引文件,但可以有多个非聚簇索引文件 主索引通常是聚簇索引(但其索引项总数不一定和主文件中聚簇字段上不同值的数目相 同,其和主文件存储块数目相同);辅助索引通常是非聚簇索引。
  • 主索引/聚簇索引是能够决定记录存储位置的索引;而非聚簇索引则只能用 于查询,指出已存储记录的位置

其他索引类型

  • 倒排索引

在这里插入图片描述
在这里插入图片描述

数据库查询实现算法

一趟扫描算法

数据库查询优化技术

思路

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

  • (1)尽可能地早做选择和投影:可使中间 结果变小,节省几个数量级的执行时间。
  • (2)把选择与投影串接起来:一元运算序 列可一起执行,只需对整个关系扫描一遍。
  • (3)把投影与其前或后的二元运算结合 起来:在第一次用关系时去掉一些无关属性, 可以避免多次扫描整个关系。
  • (4)把某些选择与其前的笛卡尔积合并 成一个连接:当R×S前有选择运算且其中有 条件是R、S属性间比较的运算时,可将其转化 为连接运算可节省时间。
  • (5)执行连接运算前对关系做适当预处 理:文件排序、建立临时索引等,可使两关系 公共值高效联接。
  • (6)找出表达式里的公共子表达式:若 公共子表达式结果不大,则预先计算,以后可读 入此结果,节时多,尤当视图情况下有用。

关系代数操作交换的等价性

关系代数: 并,差,积,选择,投影

等价

在这里插入图片描述

关系交换定理

  1. 连接与连接,积与积的交换律
    在这里插入图片描述

通常,我们选择结果集合小的表达式,先装入内存

  1. 连接与连接、积和积的结合律

在这里插入图片描述

通常,我们选择结果集合小的表达式,先装入内存

  1. 投影串接律

在这里插入图片描述

  1. 选择串接律

在这里插入图片描述

  1. 选择和投影交换律

在这里插入图片描述

  1. 选择和积的交换律
    在这里插入图片描述

  2. 投影和积的交换律

在这里插入图片描述

  1. 选择和并的交换律

在这里插入图片描述

  1. 选择和差的交换律

在这里插入图片描述

  1. 投影和并的交换律

在这里插入图片描述

查询优化算法及示例

在这里插入图片描述

物理层优化

代价估算

相关内容

热门资讯

安卓的系统好用吗,体验与优缺点... 你有没有想过,为什么安卓系统这么受欢迎呢?它到底好用到什么程度呢?今天,就让我带你从多个角度来揭秘这...
u盘系统 安卓系统安装教程,U... 你是不是也和我一样,对安卓系统情有独钟,想要在U盘上安装它,随时随地享受安卓的魅力?别急,今天就来手...
安卓系统复制文字颜色,复制文字... 你有没有遇到过这样的烦恼:在安卓手机上复制一段文字,结果颜色也跟着一起复制过去了,让人看着不舒服,还...
安卓系统7.0怎么截图,轻松掌... 你有没有想过,有时候手机上的某个瞬间,你想要永久保存下来呢?比如,一个搞笑的表情包,或者一个重要的信...
安卓改写底层系统,揭秘系统架构... 你有没有想过,你的安卓手机其实就像一个巨大的宝藏,里面藏着无数的奥秘?今天,就让我带你一探究竟,揭开...
北斗系统支持安卓系统吗,助力智... 你有没有想过,咱们国家的北斗系统是不是也能在安卓手机上大显神威呢?这可是个让人好奇的问题,毕竟现在安...
安卓recovery重置系统吗... 手机卡顿了?别急,我来告诉你如何用安卓recovery重置系统,让你的手机焕然一新! 手机卡顿,重置...
pb在安卓系统运行,探索安卓系... 你知道吗?最近我在手机上发现了一个超级酷的应用,它就是那个在安卓系统上运行得风生水起的PB应用。是不...
安卓7.1系统手机大全,全面解... 你有没有发现,最近安卓7.1系统手机真是火得一塌糊涂啊!各大品牌纷纷推出搭载这个新系统的手机,让人眼...
车载安卓系统网站好,智能驾驶的... 你有没有想过,开车的时候,手机导航不够用,车载系统又太复杂?别急,今天就来给你揭秘一个神奇的地方——...
塞班系统和安卓差距,系统差距下... 你有没有发现,手机的世界里,塞班系统和安卓系统就像是一对老冤家,总是被拿来比较。今天,咱们就来聊聊这...
华为系统安卓耗电高,深度剖析高... 最近是不是发现你的华为手机电量消耗得特别快?别急,今天就来聊聊这个让不少华为用户头疼的问题——华为系...
安卓系统ROM适配新手,轻松掌... 你刚入手了一部安卓手机,是不是对那五花八门的系统ROM感到眼花缭乱呢?别急,今天就来给你详细讲解一下...
学生管理系统 安卓源码,基于安... 你有没有想过,如果学校里的学生管理系统能像手机APP一样方便,那该多好呀!想象老师可以随时随地查看学...
安卓最耐用的系统,探索最耐用系... 你有没有想过,为什么你的安卓手机用着用着就卡了呢?是不是觉得每次更新系统都像是在给手机做手术,生怕一...
安卓系统8.0电池优化,深度解... 你有没有发现,自从你的安卓手机升级到了8.0系统,电池续航能力好像有了不小的提升呢?这可不是我随便说...
安卓系统的经典铃声,唤醒回忆的... 你有没有发现,手机里那些熟悉的铃声,有时候就像老朋友一样,陪伴着我们度过了无数个日日夜夜?今天,就让...
鸿蒙系统还是安卓系统号,系统之... 你有没有想过,手机里的操作系统就像是我们的大脑,它决定了我们手机能做什么,不能做什么。现在,就让我们...
安卓系统装贝达,安卓系统下的贝... 你有没有想过,你的安卓手机装上贝达系统后,会有怎样的奇妙体验呢?想象你的手机瞬间变身,变得流畅无比,...
安卓系统沃尔沃音响设置,轻松享... 你有没有发现,自从你的安卓手机和沃尔沃音响完美结合后,开车时的音乐体验简直就像是在音乐厅里一样?没错...