数据库技术基础:查询优化相关知识笔记
1、查询优化的基本概念
1.1 查询处理
查询处理是指从数据库中提取数据的一系列活动。主要包括:将高级数据库查询语句翻译成文件系统这一物理 层次的表达式,为优化查询进行各种转换以及查询的实际执行。
1.2 查询处理的代价
查询处理的代价通常由磁盘的访问,因为磁盘访问比内存访问速度慢很多。磁盘的访问次数对查询策略的好坏影响很大,有时候甚至会差几个数量级。
1.3 查询优化
查询优化是为了查询能够选择最有效的查询计划。查询优化涉及关系代数级优化(尽可能找到与给定表达式等价、执行效率更高的表达式)、查询语句处理的详细策略的选择。
查询优化的关键是找到一个与之等价的且操作时间又少的表达式。
2、关系代数表达式中的查询优化
优化准则
1.尽早执行选取运算:对于有选择运算的表达式,应优化成先执行选择运算的等价表达式,从而取得较小的中间结果,减少运算量和从外存读块的次数。
2.合并乘积与其后的选择运算为连接运算:避免乘积运算后,再扫描一个大的乘积关系进行选择运算。
3.将投影运算和后面的其他运算同时进行,避免重复扫描关系
4.将投影运算和其前后的二目运算结合起来。避免一些没必要的字段再扫描一遍关系。
5.在执行连接前对关系适当地预处理,就可以快速找到要连接的元素。方法:索引连接法、排序合并连接法。
6.存储公共表达式。对于有公共表达式的结果应存于外存。可以节约操作时间。
IT技术分享社区
个人博客网站:https://programmerblog.xyz
文章推荐程序员效率:画流程图常用的工具程序员效率:整理常用的在线笔记软件远程办公:常用的远程协助软件,你都知道吗?51单片机程序下载、ISP及串口基础知识硬件:断路器、接触器、继电器基础知识
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
2019-11-16 别死写代码,这 25 条比涨工资都重要
2018-11-16 Linux 与 Unix 到底有什么不同?
2018-11-16 Linux 与 Unix 到底有什么不同?
2018-11-16 Linux 与 Unix 到底有什么不同?
2016-11-16 ASP.NET文件上传大小的限制解决方案