回覆列表
-
1 # 使用者9561730536542
-
2 # 王小佳的慧慧
有兩種含義的表大小。一種是分配給一個表的物理空間數量,而不管空間是否被使用。可以這樣查詢獲得位元組數:select segment_name, bytes from user_segments where segment_type = "TABLE"; 或者Select Segment_Name,Sum(bytes)/1024/1024 From User_Extents Group By Segment_Name另一種表實際使用的空間。這樣查詢:analyze table emp compute statistics; select num_rows * avg_row_len from user_tables where table_name = "EMP";檢視每個表空間的大小Select Tablespace_Name,Sum(bytes)/1024/1024 From Dba_Segments Group By Tablespace_Name
每張表都是作為“段”來儲存的,可以透過user_segments檢視檢視其相應資訊。段(segments)的定義:如果建立一個堆組織表,則該表就是一個段。sql:SELECT segment_name AS TABLENAME,BYTES FROM user_segments WHERE segment_name="表名"。解釋:segment_name 就是要查詢的表名(大寫),BYTES 為表儲存所佔用的位元組數。本sql的意思就是查詢出表名和表所佔的儲存空間大小。