数据库技术基础:查询优化相关知识笔记
【摘要】 1、查询优化的基本概念1.1 查询处理查询处理是指从数据库中提取数据的一系列活动。主要包括:将高级数据库查询语句翻译成文件系统这一物理 层次的表达式,为优化查询进行各种转换以及查询的实际执行。1.2 查询处理的代价查询处理的代价通常由磁盘的访问,因为磁盘访问比内存访问速度慢很多。磁盘的访问次数对查询策略的好坏影响很大,有时候甚至会差几个数量级。1.3 查询优化查询优化是为了查询能够选择最有效...
1、查询优化的基本概念
1.1 查询处理
查询处理是指从数据库中提取数据的一系列活动。主要包括:将高级数据库查询语句翻译成文件系统这一物理 层次的表达式,为优化查询进行各种转换以及查询的实际执行。
1.2 查询处理的代价
查询处理的代价通常由磁盘的访问,因为磁盘访问比内存访问速度慢很多。磁盘的访问次数对查询策略的好坏影响很大,有时候甚至会差几个数量级。
1.3 查询优化
查询优化是为了查询能够选择最有效的查询计划。查询优化涉及关系代数级优化(尽可能找到与给定表达式等价、执行效率更高的表达式)、查询语句处理的详细策略的选择。
查询优化的关键是找到一个与之等价的且操作时间又少的表达式。
2、关系代数表达式中的查询优化
优化准则
1.尽早执行选取运算:对于有选择运算的表达式,应优化成先执行选择运算的等价表达式,从而取得较小的中间结果,减少运算量和从外存读块的次数。
2.合并乘积与其后的选择运算为连接运算:避免乘积运算后,再扫描一个大的乘积关系进行选择运算。
3.将投影运算和后面的其他运算同时进行,避免重复扫描关系
4.将投影运算和其前后的二目运算结合起来。避免一些没必要的字段再扫描一遍关系。
5.在执行连接前对关系适当地预处理,就可以快速找到要连接的元素。方法:索引连接法、排序合并连接法。
6.存储公共表达式。对于有公共表达式的结果应存于外存。可以节约操作时间。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)