


全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
SQL Server 三大算法(嵌套,合并,哈希)的IO成本总结 SQL Server 三大算法(嵌套,合并,哈希)的IO成本 1. Nested Loop Join(嵌套循环联结) 算法: 其思路相当的简单和直接:对于关系R的每个元组 r 将其与关系S的每个元组 s 在JOIN条件的字段上直接比较并筛选出符合条件的元组。写成伪代码就是:代价: 被联结的表所处内层或外层的顺序对磁盘I/O开销有着非常重要的影响。而CPU开销相对来说影响较小,主要是元组读入内存以后(in-memory)的开销,是 O (n * m)对于I/O开销,根据 page-at-a-time 的前提条件,I/O cost = M + M * N, 翻译一下就是 I/O的开销 = 读取M页的I/O开销 + M次读取N页的I/O开销。 2. Sort-Merge Join (排序合并联结) Nested Loop一般在两个集合都很大的情况下效率就相当差了,而Sort-Merge在这种情况下就比它要高效不少,尤其是当两个集合的JOIN字段上都有聚集索引(clustered index)存在时,Sort-Merge性能将达到最好。算法: 基本思路也很简单(复习一下数据结构中的合并排序吧),主要有两个步骤:(1) 按JOIN字段进行排序(2) 对两组已排序集合进行合并排序,从来源端各自取得数据列后加以比较(需要根据是否在JOIN字段有重复值做特殊的“分区”处理)代价:(主要是I/O开销)有两个因素左右Sort-Merge的开销:JOIN字段是否已排序 以及 JOIN字段上的重复值有多少。 最好情况下(两列都已排序且至少有一列没有重复值):O (n + m) 只需要对两个集合各扫描一遍。(这里的m,n如果都能用到索引那就更好了) 最差情况下(两列都未排序且两列上的所有值都相同):O (n * log n + m * log m + n * m) 两次排序以及一次全部元组间的笛卡尔乘积3. Hash Join (哈希联结) Hash Join在本质上类似于两列都有重复值时的Sort-Merge的处理思想分区(patitioning)。但它们也有区别:Hash Join通过哈希来分区(每一个桶就是一个分区)而Sort-Merge通过排序来分区(每一个重复值就是一个分区)。 值得注意的是,Hash Join与上述两种算法之间的较大区别同时也是一个较大限制是它只能应用于等值联结(equality join),这主要是由于哈希函数及其桶的确定性及无序性所导致的。 算法: 基本的Hash Join算法由以下两步组成: 同nested loop,在执行计划中build input位于上方,probe input位于下方。 hash join操作分两个阶段完成:build(构造)阶段和probe(探测)阶段。(1) Build Input Phase: 基于JOIN字段,使用哈希函数h2为较小的S集合构建内存中(in-memory)的哈希表,相同键值的以linked list组成一个桶(bucket)(2) Probe Input Phase: 在较大的R集合上对哈希表进行核对以完成联结。代价:值得注意的是对于大集合R的每个元组 r ,hash bucket中对应 r 的那个bucket中的每个元组都需要与 r 进行比较,这也是算法最耗时的地方所在。 CPU开销是O (m + n * b) b是每个bucket的平均元组数量。 总结: 三种join方法,都是拥有两个输入,优化的基本原则: 1. 避免大数据的hash join,(hash join适合低并发情况,他占用内存和io是
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年智慧港口自动化装卸设备智能化改造方案与实施路径报告
- 2025呼伦贝尔农垦那吉屯农牧场招聘考试练习附答案详解(考试直接用)
- 2025年教师招聘之《小学教师招聘》题库必刷100题含答案详解ab卷
- 2025党章党规党纪知识考试题及参考答案
- 押题宝典教师招聘之《幼儿教师招聘》通关考试题库及参考答案详解(达标题)
- 教师招聘之《幼儿教师招聘》考前冲刺模拟题库提供答案解析及参考答案详解(研优卷)
- 教师招聘之《幼儿教师招聘》模拟考试高能及参考答案详解(培优b卷)
- 幼儿园贫困生资助自查报告
- 教师招聘之《小学教师招聘》通关模拟题库附答案详解(基础题)
- 教师招聘之《小学教师招聘》每日一练往年题考附答案详解
- 2025台州路桥区公开招聘中小学教师40人考试参考试题及答案解析
- 2025-2026学年人美版(2024)小学美术三年级上册教学计划及进度表
- 2024-2025学年广东省汕头市金平区七年级(下)期末数学试卷
- 2025版家居用品定制加工合作协议
- 居家养老安全培训内容
- 2025-2026学年人教版(2024)初中体育与健康七年级全一册教学计划及进度表(第一学期)
- 2025-2026学年济南版(2024)初中生物八年级上册教学计划及进度表
- “一带一路”倡议下的企业出海战略研究
- 体系管理知识培训课件
- 辽宁沈阳地铁有限公司所属公司招聘笔试题库完整参考答案详解
- 2025年秋季小学二年级上册语文教学计划及教学进度表
评论
0/150
提交评论