电信运营商Db2db2建表

临时表的创建和维护?

在做复杂业务分析时,一个存储过程也会用到很多临时表(存储业务分析某一步的中间结果),这些表的数据经常变化(每个周期都会被清空再装入),还需要和别的表做关联,那么这种表在建表的时候有什么要注意的吗?为了提升程序性能,优化时考虑这些表吗?要建立索引吗?runstats应该保持在什么状态...显示全部

在做复杂业务分析时,一个存储过程也会用到很多临时表(存储业务分析某一步的中间结果),这些表的数据经常变化(每个周期都会被清空再装入),还需要和别的表做关联,那么这种表在建表的时候有什么要注意的吗?为了提升程序性能,优化时考虑这些表吗?要建立索引吗?runstats应该保持在什么状态?需要reorg吗?

收起
参与14

查看其它 1 个回答leilin的回答

leilinleilin数据库管理员IBM

我理解,你说的这些临时表不是会话表(DGTT 或 CGTT)吧?如果每次调用存储过程生成的临时表数据变化都比较大,建议在存储过程中搜集统计信息(调用sysproc.admin_cmd('runstats on table <临时表>'),因为临时表每次调用一般都清空,没有必要reorg;建不建索引,具体看表关联的需要,存储过程一般是加工数据的,临时表一般不需要建索引。另外,建议将存储过程对应的package绑定成 REOPT ALWAYS的,这样每次调用该存储过程都会根据最新的统计信息生成新的执行计划,通常也会提高性能。

IT其它 · 2017-08-17
浏览1766

回答者

leilin
数据库管理员IBM

leilin 最近回答过的问题

回答状态

  • 发布时间:2017-08-17
  • 关注会员:3 人
  • 回答浏览:1766
  • X社区推广