檢視某個表在資料庫中占用空間的大小

2021-06-23 05:47:53 字數 1169 閱讀 9404

一、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的 information schema 資料庫,在該庫中有乙個 tables 表,這個表主要字段分別是 table schema 資料庫名 table name 表名 engine 所使用的儲存引擎 tables rows 記錄數 data length 資料大小 index len...

檢視 MySQL 資料庫中每個表占用的空間大小

如果想知道mysql資料庫中每個表占用的空間 表記錄的行數的話,可以開啟mysql的 information schema 資料庫。在該庫中有乙個 tables 表,這個表主要字段分別是 table schema 資料庫名 table name 表名 engine 所使用的儲存引擎 tables r...

檢視 MySQL 資料庫中每個表占用的空間大小

我在做爬蟲的過程中,剛剛爬了幾萬條資料,放在了mysql資料庫裡,於是想看看mysql中這個資料庫大小以及每個表的大小,於是進行了查閱,主要查到了說法,組合在一起趕緊特別的好,如下。第一種 如果想知道mysql資料庫中每個表占用的空間 表記錄的行數的話,可以開啟mysql的 information ...