查看某个表在数据库中占用空间的大小
来源:互联网 发布:mac 没有ssh目录 编辑:程序博客网 时间:2024/05/22 00:52
一、oracle数据库
1)查看某一用户下的某张表
select SEGMENT_NAME,TABLESPACE_NAME,sum(BYTES/1024/1024)||'M' from USER_extents where SEGMENT_TYPE='TABLE' and SEGMENT_NAME='表名' group by SEGMENT_NAME,TABLESPACE_NAME;
2)查所有的表
select SEGMENT_NAME,TABLESPACE_NAME,sum(BYTES/1024/1024)||'M' from dba_extents where SEGMENT_TYPE='TABLE' group by SEGMENT_NAME,TABLESPACE_NAME;
二、DB2数据库
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来消除。
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快很多。
- 查看某个表在数据库中占用空间的大小
- 查看数据库中某个表占用的空间大小
- 查看数据库中某个表占用的空间大小
- 查看 MySQL 数据库中每个表占用的空间大小
- 查看 MySQL 数据库中每个表占用的空间大小
- 查看 MySQL 数据库中每个表占用的空间大小
- 查看 MySQL 数据库中每个表占用的空间大小
- 查看 MySQL 数据库中每个表占用的空间大小
- 查看 MySQL 数据库中每个表占用的空间大小
- 查看 MySQL 数据库中每个表占用的空间大小
- 查看 MySQL 数据库中每个表占用的空间大小
- 查看 MySQL 数据库中每个表占用的空间大小
- 查看 MySQL 数据库中每个表占用的空间大小
- 查看 MySQL 数据库中每个表占用的空间大小
- 查看 MySQL 数据库中每个表占用的空间大小
- 查看 MySQL 数据库中每个表占用的空间大小
- 查看 MySQL 数据库中每个表占用的空间大小
- 查看 MySQL 数据库中每个表占用的空间大小
- 漫谈数据库索引
- 翻译www.djangobook.com之第九章: Generic views
- Android计算器界面布局
- 常用的PL/SQL开发原则
- C#调用斑马打印机打印条码标签(支持COM、LPT、USB、TCP连接方式和ZPL、EPL、CPCL指令)
- 查看某个表在数据库中占用空间的大小
- 从头开始学做智能车
- IOS开发UIScrollView控件详解
- java 交换变量 直接 异或 封装类 数组区别
- 周测题 坤坤的难题(数学,技巧)
- oracle索引详解 .
- hibernate annotation 之 注解声明
- 学习笔记 linux 结构体字节对齐
- 翻译www.djangobook.com之第十章:深入模板引擎