db2统计每个表的行数

来源:互联网 发布:聊城关键词优化 编辑:程序博客网 时间:2024/06/08 08:33

1.根据数据库统计信息查询

参考信息:
http://www.ibm.com/support/knowledgecenter/en/SSEPGG_11.1.0/com.ibm.db2.luw.sql.ref.doc/doc/r0001073.html

select TABSCHEMA,TABNAME,CARD from sysstat.TABLES where TABSCHEMA='SECS'

2.自定义脚本遍历表名再select count(*)

#!/usr/local/bin/python#coding=gbkimport ibm_dbtry:    conn=ibm_db.connect("DATABASE=secs;HOSTNAME=172.16.6.194;PORT=60000;PROTOCOL=TCPIP;UID=db2inst1;PWD=xxxxxx;", "", "")except:         print "no connection:", ibm_db.conn_errormsg()else:    print "The connection was successful"with open(r"d:\db2count.csv","a") as myfile:        if conn:        strsql="select  TABNAME from sysstat.TABLES where TABSCHEMA='SECS'"        stmt=ibm_db.exec_immediate(conn,strsql)        result=ibm_db.fetch_both(stmt)        counter=1        while result:            # if counter>10:                # break            # print result[0]            count_sql=None            count_stmt=None            count_result=None            count_sql="select count(*) from secs.%s"%(result[0])            count_stmt=ibm_db.exec_immediate(conn,count_sql)            count_result=ibm_db.fetch_both(count_stmt)            print "%s,%d"%(result[0],count_result[0])            myfile.write("%s,%d\n"%(result[0],count_result[0]))            counter=counter+1            result=ibm_db.fetch_both(stmt)        result=ibm_db.fetch_both(stmt)
0 0