1、查询优化的基本概念
1.1 查询处理
查询处理是指从数据库中提取数据的一系列活动。主要包括:将高级数据库查询语句翻译成文件系统这一物理 层次的表达式,为优化查询进行各种转换以及查询的实际执行。
1.2 查询处理的代价
查询处理的代价通常由磁盘的访问,因为磁盘访问比内存访问速度慢很多。磁盘的访问次数对查询策略的好坏影响很大,有时候甚至会差几个数量级。
1.3 查询优化
查询优化是为了查询能够选择最有效的查询计划。查询优化涉及关系代数级优化(尽可能找到与给定表达式等价、执行效率更高的表达式)、查询语句处理的详细策略的选择。
查询优化的关键是找到一个与之等价的且操作时间又少的表达式。
2、关系代数表达式中的查询优化
优化准则
1.尽早执行选取运算:对于有选择运算的表达式,应优化成先执行选择运算的等价表达式,从而取得较小的中间结果,减少运算量和从外存读块的次数。
2.合并乘积与其后的选择运算为连接运算:避免乘积运算后,再扫描一个大的乘积关系进行选择运算。
3.将投影运算和后面的其他运算同时进行,避免重复扫描关系
4.将投影运算和其前后的二目运算结合起来。避免一些没必要的字段再扫描一遍关系。
5.在执行连接前对关系适当地预处理,就可以快速找到要连接的元素。方法:索引连接法、排序合并连接法。
6.存储公共表达式。对于有公共表达式的结果应存于外存。可以节约操作时间。
IT技术分享社区
个人博客网站:https://programmerblog.xyz
文章推荐程序员效率:画流程图常用的工具程序员效率:整理常用的在线笔记软件远程办公:常用的远程协助软件,你都知道吗?51单片机程序下载、ISP及串口基础知识硬件:断路器、接触器、继电器基础知识