- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Lab 31 应用调优的示例
Lab 3-1: 应用调优的示例 (2小时)
目标:
配置实验环境,了解对于SQL的调优过程和基本工具
Part1: ―――――――建立实验环境(30min)――――――――――――――――――
0. 在本机安装db2 v9.5,缺省安装在:C:\Program Files\IBM\SQLLIB下
在c:盘建立一个目录 c:\db2tpcd
将实验脚本db2tpcd.rar拷贝到c:\db2tpcd下,并将所有文件解压到当前目录下
进入db2cmd
进入dos窗口,输入db2cmd
创建测试数据库
建立查看执行计划锁需要的系统表
进入C:\Program Files\IBM\SQLLIB\MISC
建立测试用数据表
进入c:\db2tpcd
表结构如下:
我们创建了一个模拟tpch(数据库工业标准测试)测试的数据库,库中一共有8张数据表,分别是:
Nation 国家表
Region 区域表
Part 产品部件表
Supplier 供应商表
Partsupp 产品供应商关联表
Customer 客户表
Orders 订单表
Lineitem 订单详情表
我们装入部分测试数据,在db2cmd中执行:
ldall.sql脚本文件的内容如下:
我们检查一下数据加载的正确性,分别执行
我们为这些测试数据表建立索引,在db2cmd中执行:
lab3-1-idx1.sql为如上的3张表分别建立如下的索引:
检查一下索引是否成功建立,对part, supplier, partsupp分别执行以下命令
检查输出信息,确保索引已经成功建立。
建立索引后,我们收集一下相关的统计信息,在db2cmd中执行:
runstats.sql运行如下的命令:
分别对PART, PARTSUPP, SUPPLIER运行以下命令,确保runstats已经成功执行:
其中,CARD为该表的记录数,NPAGES为该表所占有的存储空间(页数),STATS_TIME为收集统计信息的时间。
Part2: ―――――――问题描述(20分钟)――――――――――――――――――
我们有如下的一个SQL语句:
目前,该SQL的运行速度不理想,我们希望通过调优提高这个SQL语句的执行效率。
首先,我们运行一下这个SQL,记录一个时间:
通过前后时间对比,我们发现这个SQL运行了大约2秒钟(不同的机器性能可能有差异)。
为了了解这个SQL的执行过程,我们开始分析它的执行计划:
在db2cmd中运行:
用文本编辑器打开lab3-1-before.exp,下面,我们详细解读这个执行计划,
Part3: ―――――――问题的分析(20分钟)――――――――――――――――――
下面我们暂停20分钟,考虑并对该问题进行分析。
Part4: ―――――――问题解答(30分钟)――――――――――――――――――
在仔细分析的问题之后,我们尝试来解决这个问题,我们规划了一个新的索引方案,我们为建立新的索引:
lab3-1-idx2.sql为
建立索引后,我们再收集一下相关的统计信息,在db2cmd中执行:
runstats.sql运行如下的命令:
分别对PART, PARTSUPP, SUPPLIER运行以下命令,确保runstats已经成功执行:
其中,CARD为该表的记录数,NPAGES为该表所占有的存储空间(页数),STATS_TIME为收集统计信息的时间。
下面,我们再执行一下原来的SQL,在db2cmd中执行:
为了进一步分析这个SQL的执行过程,我们再分析一下SQL的执行计划:
在db2cmd中运行:
用文本编辑器打开lab3-1-after.exp,下面,我们详细解读这个执行计划,
Part5: ―――――――问题的其它解答(10分钟)――――――――――――――――――
db2 create db tpcd
select
count(*)
from
tpcd.part,
tpcd.partsupp,
tpcd.supplier
where
p_partkey = ps_partkey
and s_suppkey = ps_suppkey
and p_size = 30
and ps_suppkey = 9988@
db2 “Select count(*) from tpcd.part” 结果应该是200000
db2 “select count(*) from tpcd.partsupp” 结果应该是800000
db2 “select count(*) from supplier” 结果应该是10000
load from supplier.tbl of del mo
您可能关注的文档
最近下载
- 装饰色彩的魅力小学六年级美术PPT课件.pptx VIP
- 婴幼儿学习与发展 课件 第五章 婴幼儿动作学习与发展.pptx
- 五年级英语上册-Unit-2-Lesson-2-Was-he-happy课件2-鲁科版.ppt VIP
- 第8课 中国古代的法治与教化 课件(共27张PPT)(内嵌音频+视频).pptx VIP
- 第34章 生物与环境.ppt VIP
- 苏教版科学三年级下册全册教案(含反思).docx VIP
- SY/T 6597-2018 油气管道内检测技术规范(标准规范).doc VIP
- 烹饪工艺美术 烹饪图案的类别和基本形式 烹饪图案的类别和基本形式.ppt VIP
- 2025年度济南市专业技术人员继续教育公需科目答案.doc VIP
- 2024年陕西省西安工大附中丘成桐少年班初试数学试卷.pdf VIP
文档评论(0)