数据库技术基础:查询优化相关知识笔记

举报
IT技术分享社区 发表于 2023/01/14 22:40:04 2023/01/14
【摘要】 1、查询优化的基本概念1.1 查询处理查询处理是指从数据库中提取数据的一系列活动。主要包括:将高级数据库查询语句翻译成文件系统这一物理 层次的表达式,为优化查询进行各种转换以及查询的实际执行。1.2 查询处理的代价查询处理的代价通常由磁盘的访问,因为磁盘访问比内存访问速度慢很多。磁盘的访问次数对查询策略的好坏影响很大,有时候甚至会差几个数量级。1.3 查询优化查询优化是为了查询能够选择最有效...

db.jpg


1、查询优化的基本概念

1.1 查询处理

查询处理是指从数据库中提取数据的一系列活动。主要包括:将高级数据库查询语句翻译成文件系统这一物理 层次的表达式,为优化查询进行各种转换以及查询的实际执行。

1.2 查询处理的代价

查询处理的代价通常由磁盘的访问,因为磁盘访问比内存访问速度慢很多。磁盘的访问次数对查询策略的好坏影响很大,有时候甚至会差几个数量级。

1.3 查询优化

查询优化是为了查询能够选择最有效的查询计划。查询优化涉及关系代数级优化(尽可能找到与给定表达式等价、执行效率更高的表达式)、查询语句处理的详细策略的选择。

查询优化的关键是找到一个与之等价的且操作时间又少的表达式。

2、关系代数表达式中的查询优化

优化准则

1.尽早执行选取运算:对于有选择运算的表达式,应优化成先执行选择运算的等价表达式,从而取得较小的中间结果,减少运算量和从外存读块的次数。

2.合并乘积与其后的选择运算为连接运算:避免乘积运算后,再扫描一个大的乘积关系进行选择运算。

3.将投影运算和后面的其他运算同时进行,避免重复扫描关系

4.将投影运算和其前后的二目运算结合起来。避免一些没必要的字段再扫描一遍关系。

5.在执行连接前对关系适当地预处理,就可以快速找到要连接的元素。方法:索引连接法、排序合并连接法。

6.存储公共表达式。对于有公共表达式的结果应存于外存。可以节约操作时间。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。