- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DB2性能调优手册第一部分要点
深入探讨优化器
与其他编程语言不同,SQL 语言是一种对集合进行操作的编程语言。正是因为这点,
通过使用SQL 语句可以有很多种写法不同但结果集相同的情况。但从性能角度而言,最优
的写法与最差的写法之间却有成千上万倍的差距。所以对SQL语句的编写来讲,完成需求
并不是一件困难的事,但是怎样才能做到尽善尽美,在完成需求的前提下尽可能地提高效率,
充分展现SQL语言的魅力及艺术,这就需要开发人员及DBA 们不断地学习和积累。
作为一名合格的数据库管理员,在很多情况下我们需要对SQL 语句进行详细的诊断分
析,以求让SQL 语句达到最优的性能。面对各种需求,怎样定制合理的 SQL 语句也成了
DBA 和开发人员最头疼的问题之一。如果想在当前的硬件设备及数据分布情况下,针对各
式各样的需求写出性能最佳的SQL 语句,就需要对每条语句的执行计划了如指掌。只有了
解每条语句在DB2 中的执行过程,才能做到有针对性地调优。
有了这个前提,我们就必须深入了解DB2 优化器的机制及原理:当一条SQL 语句传入
到优化器后,首先会经历语法语义检查、SQL语句重写及优化器编译三个过程,然后runtime
会按照生成的执行计划对语句进行执行,如图4-1 所示。
图4-1 优化器内部机制
1 语法语义分析
语法语义分析的过程分为查询解析及语义检查两部分。
1.1 查询解析
SQL 编译器首先会对SQL 语句进行分析以验证其语法是否正确。如果检测到任何语法
错误,那么查询编译器将停止处理,并将相应的错误返回给对应的应用程序。解析完成后,
编译器会创建该SQL 语句的语法结构图并将其存储在语句模型中。简单地讲,就是判断应
用程序发送过来的SQL 语句是否符合语法规范。
1.2 语义检查
编译器确保语句的各个部分之间不存在不一致的情况。例如编译器将验证对YEAR 函
数指定的列是否已被定义为日期数据类型。编译器还会对查询图模型添加行为语义,其中包
括引用约束、表检查约束、触发器和视图作用。查询图模型包含查询的所有语义,其中包括
查询块、子查询、关联、派生的表、表达式、数据类型、数据类型转换、代码页转换和分布
键。
2 SQL 语句重写
在详细讨论SQL 语句重写之前我们需要对SQL语句的基本结构有个清晰准确的了解。
图4-2 SQL语句结构剖析
从图4-2 中可以看到一条普通的查询语句,我们将其分为A、B、C 三部分,各部分含
义如下所述。
A:所返回的字段,其中也包含函数计算及判断等工作;
B:需要检索的表及表之间的连接方式,优化器会根据这部分内容判断需要检索哪些数
据及数据之间的连接操作(例如left outer join 或者innerjoin 等);
C:需要过滤的条件,也被称作谓词,优化器会根据这部分内容选择最合适的扫描方式
对B 部分的表进行扫描。
由此可见,A 部分主要包含SQL 语句中的相关计算工作;B 部分主要包含连接操作的
选择;而C 部分通常是用来让优化器选择合适的扫描方式。对SQL语句的执行过程而言,
优化器首先会对SQL 语句进行解析,得到需要扫描的表,然后会按照谓词的类型(C 部分)
选择适当的扫描方式,再将这些数据按照合适的方式进行连接(B 部分),最后对连接之后
的结果集进行计算等加工(A 部分)。而对SQL 调优而言,通常我们并不关心具体返回的字
段及对这些字段的相关计算。所以在对SQL 语句进行优化的过程中,我们只需关注B、C
两部分内容即可,也就是表的扫描方式及表之间的连接方式。
在这里我们按照SQL 语句的执行顺序对扫描操作进行详细介绍,之后再来讲解表之间
的连接操作。
2.1 谓词简介
我们将where 子句中的表达式称为谓词。由于不同的谓词会导致优化器选择不同的扫描
方法,所以在了解扫描运算之前需要对各个类型的谓词进行详细讨论。我们根据优化器在处
理行为上的区别将其分为4种谓词类型。通过给性能带来的影响对这些谓词以从小到大的方
式进行排列,分别是索引定界谓词、索引范围谓词、数据范围谓词、剩余谓词。这些谓词在
语句执行过程中由不同的组件进行处理,如图4-3 所示。
图4-3 谓词类型及评估谓词的相关组件
1.索引定界谓词
索引定界谓词在检索数据的过程中可以通过索引来定位其开
您可能关注的文档
- 2016一建建筑案例44问要点.pdf
- 《Unit 6 Detective stories》ppt复习课件.ppt
- 2016年一级建造师《法规》章节训练题要点.pdf
- 2017考研大纲公开课笔记完整版要点.pdf
- 2016年新课标乙卷(河南卷)高考数学评分标准要点.pdf
- 2017年年会活动策划书要点.pdf
- 2200常见技术问题及常用设置要点.pdf
- 4509507国家自然科学青年基金申请书范例要点.pdf
- 2500个常用汉字方正小篆体要点.pdf
- 20131231大立-李立军-建造师考试辅导公开课讲义(视频共六讲)要点.pdf
- 25上半年2期套题班-行政职业能力测验(八).docx
- 公考讲义-2025年1月时政汇总.pdf
- 2025年省考逻辑填空1000 高频实词积累+刷题早读课 讲义.pdf
- 25上半年2期套题班-行政职业能力测验(九).docx
- 2025四川事业编FB综合岗考试-综合能力测试讲义-主观题基础,案例分析题,公文写作及文章写作题.pdf
- 25上半年2期套题班-行政职业能力测验(五).docx
- 2025申论多省联考刷题课真题资料-2025国考执法课程.doc
- 2025申论多省联考刷题课真题资料-2024江西执法课程.doc
- 25上半年2期套题班-行政职业能力测验(十).docx
- 2025申论多省联考刷题课真题资料-2024福建县乡课程.doc
最近下载
- 《汽车构造图解》课件.pptx VIP
- 2022浙江高考英语读后续写模拟试题(含范文详解10篇)1.doc
- 搭钢棚合同协议书范本(2篇).docx
- 学校学生欺凌防治制度机制汇编(2025修订版).docx
- 基于任务驱动的小学语文写作教学探究.docx VIP
- 2024年配电线路工(高级)技能鉴定理论考试题库(含答案).pdf VIP
- 《医学影像检查技术学》课件——骶尾椎X线摄影.pptx VIP
- 2025重庆九洲隆瓴科技有限公司招聘软件技术员等岗位30人笔试备考试题及答案解析.docx
- 北京市海淀区2021-2022学年第一学期小学6年级英语期未试卷.pdf
- 11-傅建佳《活在课堂里》读书分享公开课教案教学设计课件资料.pptx VIP
文档评论(0)