互联网服务Linuxdb2 9.7

用户临时表读取效率慢

各位大大:
      外地的同事反馈说存储过程执行的效率很慢,希望我帮忙分析一下
      具体情况如下:
      在一个存储过程中建立了2张临时表,然后将2-3KW左右的数据量塞进了临时表中
      接着对临时表做了索引,然后再对临时表进行了关联查询插入物理表,关联条件中只有临时表是大表,其他都是几十条数据的小表
      在插入临时表及做索引的时候都很快,但是在最后一步的时候效率很慢,反馈说用户临时表空间是100/秒的速度读取。
      请问我该怎么做?能帮忙分析一下原因么?
      我暂时让他们把关联条件屏蔽掉小表关联,再一步步去添加关联条件的方式来尝试查找SQL上的问题。
      谢谢!
     

      临时表 a_TEMP的a1、a2和b_TEMP的b1、b2都是联合索引
      关联的方式如下:
  FROM session.a_TEMP T1   INNER JOIN session.b_TEMP T2        ON T1.a1 = T2.b1  AND T2.a2 = T1.b2
  INNER JOIN c T3         ON T2.b3= T3.c1   LEFT JOIN d   T6           ON T1.a3 = T6.d
  INNER JOIN (SELECT * FROM  e WHERE e1 = '123'  AND e2= '156' ) T4                ON T1.a4= T4.e3
  INNER JOIN (SELECT * FROM f  WHERE f1= '123'  AND f2= '840' ) T5         ON  T1.a4= T5.f3
  INNER JOIN (select * from g  where SUBSTR(g1,1,3)='ABC') T7    ON  TRIM(SUBSTR(T7.g3,4,20)) = T2.b4
参与7

6同行回答

zjBoyzjBoy技术经理北京鼎信华铭
如果调的频率不多的话,不用临时表,用实体表显示全部
如果调的频率不多的话,不用临时表,用实体表收起
互联网服务 · 2014-09-01
浏览564
zss0109211zss0109211数据库管理员null
是否临时表无索引显示全部
是否临时表无索引收起
互联网服务 · 2014-08-28
浏览584
jlandzpajlandzpa系统运维工程师广州华南资讯科技有限公司
SUBSTR(g1,1,3)='ABC' 这个写法可以改为 like .显示全部
SUBSTR(g1,1,3)='ABC'

这个写法可以改为 like .收起
系统集成 · 2014-08-28
浏览578
mdkiimdkii软件开发工程师bocn
看上去是执行策略有问题。把执行计划发上来看看。至少先保证统计信息是最新的。显示全部
看上去是执行策略有问题。把执行计划发上来看看。
至少先保证统计信息是最新的。收起
银行 · 2014-08-28
浏览561
diye_3107diye_3107软件开发工程师tian
就那么1-2天,然后同事就没有再找我了,然后我就忘了这事,频率不会很多,1天1次的日度批次,显示全部
就那么1-2天,然后同事就没有再找我了,然后我就忘了这事,
频率不会很多,1天1次的日度批次,收起
互联网服务 · 2014-08-23
浏览562
leo_wynleo_wyn商业智能工程师Security
把执行计划贴出来看看!这样的临时表没必要加索引,你的存储过程调用的频度很高?显示全部
把执行计划贴出来看看!

这样的临时表没必要加索引,你的存储过程调用的频度很高?收起
系统集成 · 2014-03-24
浏览547

提问者

diye_3107
软件开发工程师tian

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2014-03-22
  • 关注会员:1 人
  • 问题浏览:8406
  • 最近回答:2014-09-01
  • X社区推广