最新要闻
- 精选! 《狂飙》“大嫂”高叶上手小米13:徕卡人像实拍样张美呆
- 天天时讯:3端通用!腾讯视频VIP会员年卡148元到手
- 当前快讯:董明珠称格力不看文凭只看能力:研究生到一线生产线非人才
- 济南动物园网红小黑猩猩“柒仔”去世:初步研判系突发疾病死亡
- 每日热议!奔驰4S店展车充新车 女子上门维权:被骗了、将走法律程序
- 天天快资讯丨突发!蔚来前实习生称遭同事强奸未遂 反被拒绝留用!公司:已成立调查组
- “清籁”琴
- 灭蟑螂小窍门厨房_灭蟑螂小窍门
- 【新要闻】如何去除新家的甲醛_如何去除新家的甲醛
- 环球热头条丨外星人AW620M无线鼠标上市:26000 DPI、140小时长续航
- 世界简讯:PC优化翻车!《卧龙:苍天陨落》官方道歉:将尽快推出更新补丁
- Pro版同款!荣耀Magic5至臻版影像泄露:5000万像素旗舰三摄
- 今日要闻!《LOL》英雄价格正式调整!全面下调
- 全球热议:理想L9车主实惨:白天打开星环模式灯 扣1分罚款100元?
- iPhone良品率不足50%也不怕 富士康又在印度设立新工厂
- 小鹏汽车欲靠P7“回血”:老款清库再降3.5万、新车下周上市
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
【全球新要闻】(数据库系统概论|王珊)第九章关系查询处理和关系优化-第二节:查询优化
- pdf下载:密码7281
- 专栏目录首页:【专栏必读】(考研复试)数据库系统概论第五版(王珊)专栏学习笔记目录导航及课后习题答案详解
- 一:查询优化概述
- (1)查询优化的地位和重要性
- (2)执行代价
- 二:一个例子
- (1)情况1
- ①:计算广义笛卡尔积
- ②:作选择操作
- ③:作投影操作
- (2)情况2
- ①:计算自然连接
- ②:作选择操作
- ③:作投影操作
- (3)情况3
- (1)情况1
- 三:代数优化和物理优化
一:查询优化概述
(1)查询优化的地位和重要性
关系系统的查询优化既是关系数据库管理系统实现的关键技术,又是关系系统的优点所在。用户只要提出“干什么”,而不必指出“怎么干”。
在非关系系统中,用户必须了解存取路径,系统提供用户选择存取路径的手段,查询的效率由用户的存取策略决定,且系统是无法加以优化的。这就要求用户需要具有较高的数据库技术和程序设计水平
查询优化的优点不仅在于用户不必考虑如何最好地表达查询以获得较高的效率,而且在于系统可以比用户程序的“优化”做得更好。这是因为:
(资料图)
- 优化器可以从数据字典中获得很多统计信息,但是用户程序难以获得
- 即便数据库物理统计信息改变,系统也可以进行优化从而选择相应的执行计划,但是对于非关系系统则必须要重写程序
- 优化器可以考虑数百种不同的执行计划,但程序员一般仅能考虑有限的几种可能性
- 优化器包含了很多复杂的优化技术,这样就等同于所用的使用者间接拥有了这些技术
(2)执行代价
目前关系数据库管理系统通过某种代价模型计算出各种查询执行策略的执行代价,然后选取代价最小的执行方案。一般来说:总代价=I/O代价+CPU代价+内存代价+通信代价
- 计算查询代价时一般用查询处理读写的块数作为衡量单位
二:一个例子
可以通过“求选修了2号课程的学生姓名”这样一个例子来说明为什么要进行查询优化
以下是一些系统假设
假定学生-课程数据库中有1 000个学生记录,10 000个选课记录(平均每一个学生了选了10门课),其中选修2号课程的选课记录为50个
有7个内存块(其中分配5块用于装入
Student
表,1块用于装入SC
表,1块用于装入中间结果)其中一块可以装入10个
student
元组(或10个student
与SC笛卡尔积元组);一块也可以 装入50个SC元组(因为SC的列数较少)连接方法为:基于数据块的嵌套循环法。
之所以这样分配的原因:因为嵌套循环算法需要选用占用内存少的表作为外表,student表有1000行,每块装10行,所以需要100块;SC表有10000行,每块装50行,所以需要200块。
由于student表需要100个内存块,而分配给它的只有5个,所以不可能一次全部装入内存,每次只能装入一部分,比较完了再装入另外一部分。每换一批数据,内标就需要全部重新装入以便,所以为了减少内表循环装入的次数,就必须尽可能的分配内存给外表
连接后的元组装满一块后就写到中间文件上
SELECT Student.nameFROM Student,SCWHERE Student.Sno=SC.Sno AND SC.Cno="2";
系统可以用多种等价的关系代数表达式来完成这一查询,这里只举三种情况
(1)情况1
Student
与Sc
作笛卡尔积,而后作行选择运算(选择条件为Student.Sno=SC.Sno AND SC.Cno="2"
),最后进行投影操作
①:计算广义笛卡尔积
操作:
- 在内存中尽可能多地装入某个表(如
Student
表)的若干块,留出一块存放另一个表(如SC
表)的元组; - 然后把
SC
中的每个元组和Student
中每个元组连接,连接后的元组装满一块后就写到中间文件上,再从SC
中读入一块和内存中的Student
元组连接,直到SC
表处理完; - 这时再一次读入若干块
Student
元组,读入一块SC
元组,重复上述处理过程,直到把Student
表处理完
块数:
- 读一遍
Student
表所需块数为=\(\frac{1000}{10}=100\)块 - 读一遍
SC
表所需要块数为=\(\frac{10000}{50}=200\)块 - 由于
Student
表可用块数为5块,所以分\(\frac{100}{5}=20\)次读入 - 同时,
Student
表的每一部分读入内存时,SC
表都需要重新读一遍,以此完成与Student
表的连接。所以需要读入200×20=4000块 - 所以笛卡尔积读取总块数为100+4000=4100块
Student
表和SC
表作笛卡尔积共有\(10^{7}\)行,每块装10行,所以中间结果块数为\(10^{6}\)块(写入)
②:作选择操作
块数:
- 所读块数为\(10^{6}\)块
- 选择后的结果只有50个(无需读写)
③:作投影操作
- 无需读写
情况1读取总块数:
4100(读)+\(10^{6}\)(写)+\(10^{6}\)(读)。约为200万块
(2)情况2
Student
与Sc
作自然连接,而后作行选择运算(选择条件为Student.Sno=SC.Sno AND SC.Cno="2"
),最后进行投影操作
①:计算自然连接
块数:
- 首先读
Student
和SC
,与情况1一致。因此总块数=4100块 Student
和SC
自然连接后右10000行,所以中间结果块数\(\frac{10000}{10}\)=1000块
②:作选择操作
块数:
- 读入中间结果,块数=1000块
③:作投影操作
- 50个结果可以不用写入
情况2读取总块数:
4100(读)+\(1000\)(写)+\(1000\)(读)。共计6100块
- 代价约为情况1的\(\frac{1}{488}\)
(3)情况3
首先Sc
作行选择(选择条件为SC.Cno="2"
),而后作自然连接运算,最后进行投影操作
块数:
- 先对
SC
表作选择操作,只需读一遍SC
表,存取块数为100块,因为满足条件的元组仅50个,不必使用中间文件 - 读取
Student
表,把读入的Student
元组和内存中的SC
元组作连接。也只需读一遍Student
表,共100块,把连接结果投影输出
情况3读取总块数:
100(读)+200(读)。共计300块
- 代价约为情况1的的万分之一
- 代价约为情况2的\(\frac{1}{20}\)
三:代数优化和物理优化
通过上面的那个例子可以看到:经过优化,磁盘I/O涉及块数从200万下降至300,效率提升显著,这说明查询优化是非常有必要的。上述三种情况其有些操作是可以优化的,例如
- 情况一:明知在笛卡尔积后要做行选择,那为什么不在连接时就把选择做了,这样只会留下50个元组,也即省去了100万个块的读写操作
- 情况二:也是如此,在作自然连接时如果也把选择做了,就会省去1000个块的读写操作
- 情况三:它是先作选择再作连接,所以大大减少了块数
因此,由情况1到情况2再到情况3这样的优化称之为代数优化;而如果对底层路径或算法进行优化则称之为物理优化。例如对于情况三,可以添加索引,继续减小代价
-
【全球新要闻】(数据库系统概论|王珊)第九章关系查询处理和关系优化-第二节:查询优化
pdf下载:密码7281专栏目录首页:【专栏必读】(考研复试)数据库系统概论第五版(王珊)专栏学习笔记目...
来源: 【全球新要闻】(数据库系统概论|王珊)第九章关系查询处理和关系优化-第二节:查询优化
轻松玩转Makefile | 企业项目级Makefile实例
精选! 《狂飙》“大嫂”高叶上手小米13:徕卡人像实拍样张美呆
天天时讯:3端通用!腾讯视频VIP会员年卡148元到手
当前快讯:董明珠称格力不看文凭只看能力:研究生到一线生产线非人才
济南动物园网红小黑猩猩“柒仔”去世:初步研判系突发疾病死亡
每日热议!奔驰4S店展车充新车 女子上门维权:被骗了、将走法律程序
天天快资讯丨突发!蔚来前实习生称遭同事强奸未遂 反被拒绝留用!公司:已成立调查组
“清籁”琴
环球观点:5-Nacos注册中心
灭蟑螂小窍门厨房_灭蟑螂小窍门
关于目录问题的总结-Python
天天即时看!实现js继承的几种方式以及他们的优缺点
今热点:AI修复图片画质和视频画质的方法
【热闻】数学建模(一):LP 问题
【新要闻】如何去除新家的甲醛_如何去除新家的甲醛
2023年2月随笔-难产的“学系列”
关注:乘风破浪,遇见最佳跨平台跨终端框架.Net Core/.Net生态 - 深入OpenAI与马斯克、微软的秘密,通过API轻松接入ChatGPT
天天热推荐:git clone的时候出现出现 fatal: unable to access 'https://github.com/...':OpenSSL
第125篇: 期约Promise基本特性
环球速递!kong和konga的安装部署
视焦点讯!腾讯云短信的使用方法
06while循环
环球热头条丨外星人AW620M无线鼠标上市:26000 DPI、140小时长续航
世界简讯:PC优化翻车!《卧龙:苍天陨落》官方道歉:将尽快推出更新补丁
环球头条:多线程全面总结
怎么注册微信公众号?
Pro版同款!荣耀Magic5至臻版影像泄露:5000万像素旗舰三摄
今日要闻!《LOL》英雄价格正式调整!全面下调
全球热议:理想L9车主实惨:白天打开星环模式灯 扣1分罚款100元?
iPhone良品率不足50%也不怕 富士康又在印度设立新工厂
小鹏汽车欲靠P7“回血”:老款清库再降3.5万、新车下周上市
降价后真香了!特斯拉中国2月销量出炉:暴涨130%
9.98万起杀疯!比亚迪王朝系列2月销量超10万台:秦PLUS贡献3成
2月新能源汽车销量榜:比亚迪一家占比近4成 第三名暴走
世界资讯:委员蒋胜男谈35岁职场危机:根源是“996” 必须改变
今日讯!中国性能车!全新领克03 TCR赛车官图发布:售价超百万
排查系统执行SQL与数据库直接执行结果不一致的问题
每日资讯:详细剖析|袋鼠云数栈前端框架Antd 3.x 升级 4.x 的踩坑之路
记录--手摸手带你撸一个拖拽效果
天天讯息:VSCode官方的配置同步方案
快报:144MB缓存立大功 AMD锐龙7000X3D内存自由:4800都稳赢i9
环球观点:AMD RX 7900 XT价格全面雪崩:沦落到RTX 4070 Ti的级别
《旷野之息》发售6周年:续作《塞尔达传说:王国之泪》发布新预告
当前视点!中国围棋第一人易主!李轩豪超越柯洁 AI立大功
环球快讯:vivo推出“手语翻译官”应用:准确率可达80%以上
网络通信——TCP “三次握手“、“四次挥手“ 详解
PHP语言在线代码运行编译工具推荐
今日报丨JavaScript 回调函数属于闭包?
全球快看:ChatGPT开放API,上来就干到最低价,可以人手一个ChatGPT了
全球新动态:Spring事务使用注意事项
【全球独家】限制儿童支付金额方便了!微信青少年模式升级:一键开启上线
三排七座!仰望U8内饰曝光:比亚迪首款百万豪车来了
世界热门:刚失败一次后 日本不放弃:新一代运载火箭尝试再度发射
热到离谱?首个冲上20℃的北方省会诞生 下周或破30℃
欧洲2035年禁售燃油车要黄?德国公然反对!意大利:我也不同意
环球精选!登月用!中国新一代载人火箭预计2027年首飞
天天即时:《狂飙》“大嫂”高叶上手小米13:女神持机美如画
全球观速讯丨火山引擎 DataTester:A/B 实验如何实现人群智能化定向?
环球快资讯丨Redis分布式锁常见坑点分析
世界今日讯!eas里客户端保存,提交里增加校验规则和必填
访问者模式
世界微动态丨网友偶遇眼镜王蛇求助 博物杂志:务必远离、打输住院打赢坐牢
世界今亮点!Vtuber因直播《霍格沃茨之遗》被骚扰 宣布毕业
天天讯息:委员建议研究生招生规模动态扩大:缓解考研难
全球聚焦:收个滴滴Offer:从小伙三面经历,看看需要学点啥?
环球热资讯!Study for Go! Chapter one - Type
环球最新:手写模拟Spring底层原理-Bean的创建与获取
速看:兰博基尼领衔 今年值得期待的7款跑车 买不起还不能看看?
女子试用期被辞退 现场给HR普法:金句频出网友点赞称解气
每日聚焦:靠ChatGPT年入百万!合法还不限学历专业:一般人我不告诉他(doge)
全球新消息丨韩系车日子不好过!起亚狮铂拓界限时优惠:降3万还给大礼包
zip文件结构
头条:与时俱进推动智慧城市建设,智慧管网监测加强城市治理能力
全球视讯!Java项目集成工作流activiti,会签
简单介绍Python中如何给字典设置默认值
播报:LG:三星QD OLED电视更容易烧屏
世界聚焦:掏耳朵怎么就这么爽!
今日视点:不只全面屏!努比亚Z50 Ultra后摄惊艳:黄金镜皇组合
男子月薪3千相亲角“反向相亲”气到大妈 大爷理解:靠颜值吃饭
每日热文:吴京+杰森斯坦森主演!《巨齿鲨2》暑期上映 国内有望同步
环球视点!ffmpeg视频上传及压缩Linux配置篇下
世界快资讯:【Avalonia】【跨平台】关于Prism项目模块化在Linux下路径问题
浙大揭秘吃鱼为什么会变聪明 网友:告诉老默 我想吃鱼了
上海消保委提醒谨慎购买威马汽车:经营异常、消极应对投诉
特斯拉将放弃稀土材料 中国公司无惧:目前没有东西替代
即时:B站两款自研游戏将上线 CEO陈睿:能挣钱的游戏只剩下两种
《生化危机4:重制版》新演示/截图 里昂拯救黑丝碍事梨
焦点日报:配置资源管理Secret和ConfigMap
环球视点!Windows故障转移群集 和 SQLServer AlwaysOn 搭建教程
(数据库系统概论|王珊)第九章关系查询处理和关系优化-第一节:查询处理
全球速递!视频上传及压缩SpringBoot篇上
世界热门:el-input 使用 回车键会刷新页面的问题
全球最强!传音260W快充手机将亮相:10分钟内充满
性能对标奔驰大G 比亚迪“F品牌”首车曝光:够硬够强
世界快消息!传欧盟准备批准微软收购动视-暴雪
当前报道:女司机“神操作”:100来公里高速连撞4次 竟甩锅路太窄
世界视讯!又一大作优化翻车!《卧龙:苍天陨落》RTX 4090依旧闪退
12GB+256GB到手仅2699元!Redmi K60正式开启降价
温州特斯拉事故驾驶员家属发声:记不清车辆失控场景 妻子去世自责