DB2操作数据库表空间命令

DB2操作数据库表空间命令

标签(空格分隔tags): BBS文档 DB2 SQL 用户授权


目录的另外一种结构

1.语法示例 * 1.1图片 * 1.2换行 * 1.3强调

测试文件绑定

DB2查看数据库表使用情况

连接数据库

db2 connect to lqr

查看表空间

db2 list TABLESAPCES show detail


计算总空间大小 total(T) = Total pages*Page size(bytes)/1024/1024/1024/1024

查看schema

db2 "list active database" # 查看活动的数据库
db2 "select * from sysibm.sysschemata" 查看schema查询

得到数据库所有表及其信息

select * from syscat.tables where tableschema='LQR' ;
# 数据库软件中查询 得到表代码以及表信息查询结果

查询表占用空间大小

1)方法1(统计表所占用的物理空间大小,包括数据、索引、大对象和xml空间大小)
SELECT (DATA_OBJECT_P_SIZE + INDEX_OBJECT_P_SIZE + LONG_OBJECT_P_SIZE + LOB_OBJECT_P_SIZE + XML_OBJECT_P_SIZE)/1024||’M’ AS TOTAL_P_SIZE FROM SYSIBMADM.ADMINTABINFO where TABNAME = ‘表名’
其中DATA_OBJECT_L_SIZE代表表的逻辑大小(KB),DATA_OBJECT_P_SIZE为表的物理大小(KB)。
逻辑大小和物理大小的差别:我们往某张表插入很多数据,然后删除一些数据,但表占据的空间并不会释放,当新的数据插入时,仍然会使用这些空间。实际占用的空间叫做逻辑空间,分配过的空间叫物理空间,逻辑空间可能会小于物理空间,这两者的差异可以通过reorg来消除。

查看数据库表大小(http://blog.csdn.net/super712/article/details/38587081)
1)方法1(统计表所占用的物理空间大小,包括数据、索引、大对象和xml空间大小)
SELECT (DATA_OBJECT_P_SIZE + INDEX_OBJECT_P_SIZE + LONG_OBJECT_P_SIZE + LOB_OBJECT_P_SIZE + XML_OBJECT_P_SIZE)/1024||’M’ AS TOTAL_P_SIZE FROM SYSIBMADM.ADMINTABINFO where TABNAME = ‘表名’
其中DATA_OBJECT_L_SIZE代表表的逻辑大小(KB),DATA_OBJECT_P_SIZE为表的物理大小(KB)。
逻辑大小和物理大小的差别:我们往某张表插入很多数据,然后删除一些数据,但表占据的空间并不会释放,当新的数据插入时,仍然会使用这些空间。实际占用的空间叫做逻辑空间,分配过的空间叫物理空间,逻辑空间可能会小于物理空间,这两者的差异可以通过reorg来消除。

SELECT (DATA_OBJECT_P_SIZE + INDEX_OBJECT_P_SIZE + LONG_OBJECT_P_SIZE + LOB_OBJECT_P_SIZE + XML_OBJECT_P_SIZE)/1024||'M' AS TOTAL_P_SIZE FROM SYSIBMADM.ADMINTABINFO where TABNAME = '表名'
# 使用效果得到多个数值,总和即为表空间大小,查询时长约5-20秒/表

2)方法2(ADMIN_GET_INFO表函数返回结果与SYSIBMADM.ADMINTABINFO管理视图类似)

SELECT TABNAME,SUM(DATA_OBJECT_P_SIZE + INDEX_OBJECT_P_SIZE + LONG_OBJECT_P_SIZE + LOB_OBJECT_P_SIZE + XML_OBJECT_P_SIZE)/1024||'M' FROM TABLE (SYSPROC.ADMIN_GET_TAB_INFO('模式名','表名')) AS T GROUP BY TABNAME

使用此语句,统计速度要比SYSIBMADM.ADMINTABINFO快很多。

附件

原文地址:https://www.cnblogs.com/superscfan/p/12257038.html