IT分销/经销数据库

select syscat.tables 很慢的一个摄取量

dblook 导出表结构很慢,很慢
查看了 执行了的sql,这个sql执行了  几百次,感觉上 导出一张表,就执行下面的sql一次
怀疑是下面这个sql执行的:
DECLARE THIS_TABLE_ALIAS CURSOR FOR            
with iv (tabname, tabschema, base_tabname, base_tabschema, remarks,create_time, definer) as
     ((SELECT  tabname, tabschema, base_tabname, base_tabschema, remarks,create_time, definer
                   FROM    SYSCAT.TABLES              
                   WHERE   type = 'A' and   base_tabname = :H00005   
                   and                      base_tabschema = :H00007 )      
     union all              
     (select st.tabname, st.tabschema, st.base_tabname, st.base_tabschema, st.remarks,st.create_time, st.definer
                   from iv,  SYSCAT.TABLES st              
                   where iv.tabname = st.base_tabname and  iv.tabschema = st.base_tabschema and  st.type = 'A'))        
select tabname,
tabschema,
base_tabname,
base_tabschema,
remarks,
create_time,
definer
from iv
ORDER BY tabschema, tabname FOR READ ONLY



我执行了一下这个sql的部分
Statement:
  DECLARE C1 CURSOR
  FOR
     SELECT tabname, tabschema, base_tabname, base_tabschema, remarks,
             create_time, definer
     FROM SYSCAT.TABLES
     WHERE type ='A' and base_tabname ='a' and base_tabschema ='a'

Section Code Page = 1208
Estimated Cost = 56141.507812              --这么高的cost
Estimated Cardinality = 0.000000
(    2) Access Table Name = SYSIBM.SYSTABLES  ID = 0,5
        |  Index Scan:  Name = SYSIBM.INDTABLES09  ID = 9
        |  |  Regular Index (Not Clustered)
        |  |  Index Columns:
        |  |  |  1: AUDITPOLICYID (Ascending)
        |  #Columns = 7
        |  Evaluate Block/Data Predicates Before Locking Committed Row
        |  Evaluate Predicates Before Locking for Committed Key
        |  #Key Columns = 0
        |  |  Start Key: Beginning of Index
        |  |  Stop Key: End of Index
        |  Data Prefetch: Eligible 3506
        |  Index Prefetch: Eligible 3506
        |  Lock Intents
        |  |  Table: Intent Share
        |  |  Row  : Next Key Share
        |  Sargable Predicate(s)
        |  |  #Predicates = 3
(    1) |  |  Return Data to Application
        |  |  |  #Columns = 7
(    1) Return Data Completion
End of section

Optimizer Plan:
            Rows   
          Operator
            (ID)   
            Cost   
                    
        3.27867e-10
            n/a     
          RETURN   
           ( 1)     
          56141.5   
            |      
        3.27867e-10
            n/a     
           FETCH   
           ( 2)     
          56141.5   
       /           
    55226       55226   
     n/a         n/a   
   IXSCAN     Table:   
    ( 3)      SYSIBM   
   395.307    SYSTABLES
     |      
      1      
Index:      
SYSIBM      
INDTABLES09


导出很慢很慢,想这个sql 这么优化呢?

附件:

附件图标db2trc.part01.rar (8.58 MB)

附件图标db2trc.part02.rar (8.58 MB)

附件图标db2trc.part02.rar (8.58 MB)

附件图标db2trc.part03.rar (5.65 MB)

附件图标db2support.zip (1.4 MB)

附件图标db2batch.sql (88.24 KB)

附件图标db2support.zip (1.36 MB)

参与87

86同行回答

wangzhonnewwangzhonnew软件工程师IBM Canada Ltd.
增加ibmdefaultbp到10000,增大sortheap到sheapthres_shr 20000 sortheap 2000运行两次那个查询(增大内存的同时注意确保新增加的内存能够被分配,比如可以减小其他内存池的空间之类的)显示全部
增加ibmdefaultbp到10000,增大sortheap到sheapthres_shr 20000 sortheap 2000
运行两次那个查询(增大内存的同时注意确保新增加的内存能够被分配,比如可以减小其他内存池的空间之类的)收起
IT分销/经销 · 2011-07-01
浏览459
wangzhonnewwangzhonnew软件工程师IBM Canada Ltd.
它本来就是stmm的 所以alter那些没有意义吧?!我说你"啥都没跑"的时候 是指没这个应用 而其他的你已经ac ...Shane.Qian 发表于 2011-7-1 22:26     原先是stmm/1000Alter bufferpool information: Pages left to remove         ...显示全部
它本来就是stmm的 所以alter那些没有意义吧?!

我说你"啥都没跑"的时候 是指没这个应用 而其他的你已经ac ...
Shane.Qian 发表于 2011-7-1 22:26



    原先是stmm/1000
Alter bufferpool information:
Pages left to remove                      = 0
Current size                              = 1002
Post-alter size                           = 1002收起
IT分销/经销 · 2011-07-01
浏览480
Shane_QianShane_Qian数据库开发工程师18m
[此回答已删除]
浏览381
wangzhonnewwangzhonnew软件工程师IBM Canada Ltd.
现在怎么样了?用了stmm和增大sortheap以后好点没,如果没好继续db2batch显示全部
现在怎么样了?用了stmm和增大sortheap以后好点没,如果没好继续db2batch收起
IT分销/经销 · 2011-07-01
浏览477
drdb2drdb2系统工程师se
回复 49# nowhill Once again, I do not think that is the bottleneck.Large ERP systems, 上万个tables, db2look 该别活了。 In the reality, it is not.显示全部
回复 49# nowhill

Once again, I do not think that is the bottleneck.
Large ERP systems, 上万个tables, db2look 该别活了。 In the reality, it is not.收起
互联网服务 · 2011-07-01
浏览467
nowhillnowhill系统工程师
你啥都不跑 都已经占了47%的内存了Shane.Qian 发表于 2011-7-1 16:02 典型的windows 用户^_^内存是预先分配,闲着也是闲着显示全部
你啥都不跑 都已经占了47%的内存了
Shane.Qian 发表于 2011-7-1 16:02



典型的windows 用户
^_^

内存是预先分配,闲着也是闲着收起
IT分销/经销 · 2011-07-01
浏览515
Shane_QianShane_Qian数据库开发工程师18m
[此回答已删除]
浏览379
nowhillnowhill系统工程师
把我之前发过的两个合在一起,基本就是问题的症结所在了; 内存不够: 排序换页,逻辑读不够,等..  所以IO ...Shane.Qian 发表于 2011-7-1 14:39 你说的这些问题都存在,但是看问题也可以独立的看你想,我别的什么都不跑,就跑一个db2look 导出数据,慢成这样?是内存不够,io不...显示全部
把我之前发过的两个合在一起,基本就是问题的症结所在了;
内存不够: 排序换页,逻辑读不够,等..  所以IO ...
Shane.Qian 发表于 2011-7-1 14:39



你说的这些问题都存在,但是看问题也可以独立的看
你想,我别的什么都不跑,就跑一个db2look 导出数据,慢成这样?
是内存不够,io不够,排序换页

我觉得都不是

问题就是 查询sysibm.tables 采取了 全表扫描,如果是索引扫描,那么 会很快很快
但数据库 有问题时,不能 把 责任 推给系统,推给内存,io之类

首先要问问,你数据库本身 是不是 已经优化了

SELECT  tabname, tabschema, base_tabname, base_tabschema, remarks,create_time, definer
                   FROM    SYSCAT.TABLES              
                   WHERE   type = 'A'
这样的sql,这样错误的执行计划才是 关键 所在收起
IT分销/经销 · 2011-07-01
浏览514
Shane_QianShane_Qian数据库开发工程师18m
[此回答已删除]
浏览385
nowhillnowhill系统工程师
to wangzhonnew 为设么我 一设置 IBMDEFAULTBP 为自动调整  ,就被设置成1000奇怪哦??2011-07-01-13.25.43.399456+480 I7555946G505       LEVEL: InfoPID     : 19755           &n...显示全部
to wangzhonnew
为设么我 一设置 IBMDEFAULTBP 为自动调整  ,就被设置成1000
奇怪哦??

2011-07-01-13.25.43.399456+480 I7555946G505       LEVEL: Info
PID     : 19755                TID  : 1049619344  PROC : db2sysc
INSTANCE: db2inst1             NODE : 000         DB   : SUZHOU
APPHDL  : 0-14597              APPID: 192.168.6.25.49947.110701054148
AUTHID  : DB2INST1
EDUID   : 85                   EDUNAME: db2agent (SUZHOU)
FUNCTION: DB2 UDB, buffer pool services, sqlbAlterBufferPoolAct, probe:90
MESSAGE : Altering bufferpool "IBMDEFAULTBP" From: "4096" To:
          "10000"

2011-07-01-13.26.20.713240+480 I7556452G505       LEVEL: Info
PID     : 19755                TID  : 1049619344  PROC : db2sysc
INSTANCE: db2inst1             NODE : 000         DB   : SUZHOU
APPHDL  : 0-14597              APPID: 192.168.6.25.49947.110701054148
AUTHID  : DB2INST1
EDUID   : 85                   EDUNAME: db2agent (SUZHOU)
FUNCTION: DB2 UDB, buffer pool services, sqlbAlterBufferPoolAct, probe:90
MESSAGE : Altering bufferpool "IBMDEFAULTBP" From: "10000" To: "1000"
         

2011-07-01-13.27.14.492214+480 I7556958G505       LEVEL: Info
PID     : 19755                TID  : 1049619344  PROC : db2sysc
INSTANCE: db2inst1             NODE : 000         DB   : SUZHOU
APPHDL  : 0-14597              APPID: 192.168.6.25.49947.110701054148
AUTHID  : DB2INST1
EDUID   : 85                   EDUNAME: db2agent (SUZHOU)
FUNCTION: DB2 UDB, buffer pool services, sqlbAlterBufferPoolAct, probe:90
MESSAGE : Altering bufferpool "IBMDEFAULTBP" From: "1000" To:
          "10000"

2011-07-01-13.27.23.574873+480 I7557464G505       LEVEL: Info
PID     : 19755                TID  : 1049619344  PROC : db2sysc
INSTANCE: db2inst1             NODE : 000         DB   : SUZHOU
APPHDL  : 0-14597              APPID: 192.168.6.25.49947.110701054148
AUTHID  : DB2INST1
EDUID   : 85                   EDUNAME: db2agent (SUZHOU)
FUNCTION: DB2 UDB, buffer pool services, sqlbAlterBufferPoolAct, probe:90
MESSAGE : Altering bufferpool "IBMDEFAULTBP" From: "10000" To: "1000"
          收起
IT分销/经销 · 2011-07-01
浏览516

提问者

nowhill
系统工程师

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2011-06-27
  • 关注会员:1 人
  • 问题浏览:39354
  • 最近回答:2011-07-07
  • X社区推广