- 1、本文档共25页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
优化器
优化器是关系数据库的核心,相当于汽车的发动机,DB2在业界最值得称道的功能之一就是其强大的优化器。大多数情况下,用户不必干预优化器的执行,而且DB2优化器总是足够聪明地选择最佳访问计划,当然前提是数据库的统计信息被及时收集。
统计信息每个数据库对象状态的信息,可以使用SYSSTAT模式的视图访问:
db2 list tables for all|grep -i SYSSTAT
不同数据对象类型的统计信息使用不同的视图访问。
相比Visual Explain工具,作者强烈推荐使用db2exfmt工具,生成文本访问计划。相比前者生成图形化的访问计划,后者包含更多重要的信息。
例:
db2sampl
db2 connect to sample
#创建访问计划表
db2 -tvf C:\Program Files\IBM\SQLLIB\MISC\EXPLAIN.DDLc:\db2\a.txt
db2 select empno,firstnme,lastname from employee,department where employee.workdept =department.deptno and mgrno=000060
#打开访问计划选项
db2 set current explain mode explain
#然后执行以下sql,此时会生成针对该sql的访问计划被存储在EXPPLAN.DDL文件中
db2 select empno,firstnme,lastname from employee,department where employee.workdept =department.deptno and mgrno=000060
#关闭访问计划选项
db2 set current explain mode explain no
#使用以下工具将这些信息汇总到一个文件中
db2exfmt -d SAMPLE -g TIC -w -l -n % -s % -# 0 -o prod_sample_exfmt.txt
接下来分析此文件!
系统信息
系统设置
数据库中对优化器起作用的参数:
Parllelism = None 代表单分区
= Interparallel 代表多分区
= Intraparallel 代表分区内并行
CPU速度:当前cpu速度的一个估算值,该值并不代表任何有意义的单位,而是DB2在优化其中使用CPU速度作为一个参数,该数值在实例启动时自动计算。
Comm Speed:通信速度,在多分区系统中默认为100,可以根据需求调节。
Buffer Pool Size:系统中缓冲池总页数的和,注意DB2优化器在计算访问计划时,并不知道有哪些缓冲池将被使用(譬如说某些计划可能需要一些临时表,而临时表的缓冲池也许不同于数据表),因此缓冲池大小只是简单地将数据库中所有缓冲池的页面数量相加。
Sort Heap Size:排序区的大小,用来估算排序或者哈希关联是否会溢出。
Database Heap size:数据库堆栈大小,在通常情况下对访问计划不会产生决定性的影响。
Lock List Size、Maximum Lock List 、Average Applications与Locks Available是锁列表的信息,用来估算某些类型的数据访问是否有足够锁列表容纳相关数据。
要点:DB2的优化器足够强大,可以通过不同的查询条件排列次序估算出执行时哪个条件在前会比较有利。因此用户自己的排列不会被优化器所认可,优化器完全基于开销对访问计划进行评估。访问计划估算值并没有实际单位,比较两个访问计划时,一定要基于同一个系统。在不同系统间的开销不具有可比性。读访问计划时从上到下、从左到右。
性能调优
性能调优在很多方面与问题诊断有相通之处,甚至从某种程度上说,性能调优是建立在成功的问题诊断的基础之上。
性能诊断强调的是“诊断”二字,也就是弄明白系统为什么慢,瓶颈出在什么地方,弄明白问题但却不一定能真正解决这个问题。
调优的最终目的不是完全挖掘出问题的根源,而是用不同的手段提升系统的单位时间内吞吐量。
性能调优比性能分析更加直观与灵活。有的时候只要了解了系能问题的现象,通过经验与一定程度上对应用与数据库的理解,就能够大体上给出一个调优的方向(譬如是磁盘问题、CPU问题或者内存问题)
调优思路:
首先,尝试理解系统的架构。至少弄明白系统多少CPU、多少内存,多少连接之类的最基本问题。
其次,将问题细化到CPU、内存、I/O或者系统懒惰的大方向。
再次,就是要给出一个期望值,尝试用不同的手段将某种指标提高的目标之上,然后再次重复细化问题的步骤,直到系统的整体性能达到预期。
两个难点(
您可能关注的文档
- 粤教版五年级科学上册第13课能量的转换第1课时说课.ppt
- 2016年一年级上册二单元剖析.docx
- (人教版)五年级语文下册-综合性学习—走进信息世界-答辩.ppt
- 2016上学期超星尔雅《生命安全与救援》期末考试剖析.docx
- (人音版)五年级音乐上册-晚风答辩.ppt
- (上课)自尊是人人都需要的答辩.ppt
- 2016一建《市政公用工程管理与实务》真题及剖析.docx
- 2017年二级建造师考试《施工管理》知识点剖析.docx
- 注册电气工程师考试辅导.1讲解.ppt
- (苏教版)六年级语文上册_13.牛郎织女答辩.ppt
- 数据仓库:Redshift:Redshift与BI工具集成.docx
- 数据仓库:Redshift:数据仓库原理与设计.docx
- 数据仓库:Snowflake:数据仓库成本控制与Snowflake定价策略.docx
- 大数据基础:大数据概述:大数据处理框架MapReduce.docx
- 实时计算:GoogleDataflow服务架构解析.docx
- 分布式存储系统:HDFS与MapReduce集成教程.docx
- 实时计算:Azure Stream Analytics:数据流窗口与聚合操作.docx
- 实时计算:Kafka Streams:Kafka Streams架构与原理.docx
- 实时计算:Kafka Streams:Kafka Streams连接器开发与使用.docx
- 数据仓库:BigQuery:BigQuery数据分区与索引优化.docx
最近下载
- 2024-2025学年初中信息科技冀教版2024七年级全一册-冀教版2024教学设计合集.docx
- 重大危险源管控措施及方案.doc VIP
- 十三辙《韵辙表》——合辙押韵必备.pdf VIP
- 2024年凉山州越西县卫生健康局聘用村卫生室村医笔试真题.docx VIP
- 生产与运作分析第七版史蒂文·纳米亚斯习题答案第6章.docx VIP
- 数字逻辑与数字系统朱正东习题答案.pdf VIP
- 冀教版英语九年级上册课堂同步练习试题及答案(全册).pdf VIP
- 烟雾病讲解课件.ppt
- 生产与运作分析第七版史蒂文·纳米亚斯习题答案第5章.docx VIP
- 以病例分析为主导的营养诊疗示范题库答案-2025年华医网继续教育答案.docx VIP
文档评论(0)