多条sql 语句insert into t2 select col1, col2, col9 - ibm.ppt

多条sql 语句insert into t2 select col1, col2, col9 - ibm.ppt

  1. 1、本文档共58页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
多条sql 语句insert into t2 select col1, col2, col9 - ibm

IBM i DB2应用性能优化技巧 议程 准备知识 访问计划(SQL Access Plan) 开放数据通路(ODP) 嵌入式SQL程序优化技巧 SQL接口 静态 SQL 嵌入到应用程序中的非动态SQL语句 支持的语言: RPG COBOL C, C++ SQL Procedural Language SQL embedded in C PL/I IBM i 上高效的SQL接口 动态 SQL 接口 DB2 for i 实现动态SQL的接口: CLI JDBC Net.Data RUNSQLSTM Interactive SQL (STRSQL) PHP SQLJ 由于在执行前不能知道要执行怎样的SQL,因此性能开销相对与静态SQL大些。 访问计划 访问计划内容 一个包含了满足每个SQL请求所需行为的信息的控制结构 这些信息包括: 访问方法 Access path ITEM used for file 1 Key row positioning used on file 1 相关表以及索引的信息 根据表以及索引的变化,决定是否需要重建访问计划 例如:自从上一次运行SQL请求后,表中的某一列被删除了 任何程序信息以及/或环境信息 例如: 最后一次创建访问计划的时间,以及安装DB2 SMP产品选项 执行计划Access Plan 访问计划 访问计划 打开访问计划 访问计划有效性验证 IF无效, THEN 重新优化 更新查询计划(后期绑定) 通常无效的原因: 引用了不同版本的表对象 (A1) 表的行数发生了显著的变化 (A4) 增加了索引 (A5) 或者 删除了索引 (A6) 内存池大小发生了改变 (AB) CQE optimizer only rebuilds pla。。。。。。。。n when there has been a 2X change in memory pool size and runtime estimate greater than 2 seconds SQE optimizer only rebuilds plan with a 2X change in memory pool si 更多重建访问计划的原因,参见后面的Backup部分 所有的原因都记录在 DB2 Database Performance Query Optimization book (or System Message IDs: CPI4323 CPI4321) 执行查询计划: 制定开放数据通路(Open Data Path) 重建访问计划注意事项 访问计划的更新并不总是完美完成 PGM Utility: CALL QSYS/QSQCMPGM PARM(MYLIB EMBPGM1) V5R2 PTF-SI11120 静态嵌入SQL接口可以创建临时访问计划 当应用程序在每个作业或连接创建了临时表时,这些临时表可能引起访问计划的重建。 适用于那些在声明全局临时表时创建的表或者是直接创建到QTEMP中的表 一种解决方法是在共享的连接和作业创建“单一”的临时表 CREATE TABLE tmpschema.temptab1 (ConnID INTEGER, workcol1 INTEGER, workcol2 INTEGER) PRIMARY KEY(ConnID) ) VOLATILE 序列可以提供ConnID 值,为每个单一连接标记行 CREATE SEQUENCE ConnectionID START WITH 1 INCREMENT BY 1 CYCLE CACHE 10 SQE Plan Cache SQE Plan Cache 对SQE优化器创建的所有访问计划进行自我管理的缓存 SQE的查询计划实际上可以被分为Plan Cache 和对象包含的访问计划(程序、包等) 在IPL时Plan Cache要清空 缓存支持单个SQL语句的多个访问计划,以最大限度地减少访问计划的重建 每个SQL语句可以多达3个访问计划,优化器会使用最接近的匹配(不要求精确匹配) 如果环境设置导致了优化器产生了第四个访问计划,那么最旧的访问计划会被移除。 对每个SQL请求,以下环境设置的变化会导致一个不同的访问计划存储在该请求下: SMP设置 内存池大小 主变量/参数标记的选择度 ALWCPYDTA 设置 当SQE在现有访问计划”切换”时,不会有反馈 “永久”的环境设置会导致现有计划会被删除。例如:索引的创建导致新的基于索引的访问计划取代table scan的查询计划 SQE Plan Cache 在库列表中定位表引用后,根据查询语句文本在Plan

您可能关注的文档

文档评论(0)

wujianz + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档