互联网服务数据库使用率

如何估算一张表的CARDINALITY 和它的使用率

如何估算一张表的CARDINALITY 和它的使用率今天写了一个SQL,根据记录的平均长度来估算数据库中某张表的CARDINALITY 和它的使用率.SQL====select a.tabschema , a.tabname ,a.card ,case b.pagesizewhen 4096Then    card*count_avg*100/64000000000when 8192Th...显示全部
如何估算一张表的CARDINALITY 和它的使用率

今天写了一个SQL,根据记录的平均长度来估算数据库中某张表的CARDINALITY 和它的使用率.

SQL
====
select a.tabschema , a.tabname ,a.card ,
case b.pagesize
when 4096
Then
    card*count_avg*100/64000000000
when 8192
Then
    card*count_avg*100/128000000000
when 16384
Then
   card*count_avg*100/256000000000
when 32768
Then
   card*count_avg*100/512000000000
  else null
  end as used
  from syscat.tables a , syscat.tablespaces b , (
    select tabname,tabschema, SYSIBM . sum ( AVGCOLLEN ) count_avg
      from syscat.columns
      group by tabname,tabschema ) c
  where a.tbspaceid = b.tbspaceid
    and a.tabname = c.tabname
        and a.tabschema = c.tabschema
    and card > 600000000
====收起
参与9

查看其它 8 个回答guoke56111的回答

guoke56111guoke56111技术经理市商业银行
好贴,谢谢楼主。实践中。
互联网服务 · 2010-09-11
浏览865

回答者

guoke56111
技术经理市商业银行
擅长领域: 数据库

guoke56111 最近回答过的问题

回答状态

  • 发布时间:2010-09-11
  • 关注会员:0 人
  • 回答浏览:865
  • X社区推广