oracle查看表空間命令 如何查看一個(gè)表所占用的空間大???
如何查看一個(gè)表所占用的空間大小?每張表都是作為“段”來存儲的,可以通過user_segments視圖查看其相應(yīng)信息。段(segments)的定義:如果創(chuàng)建一個(gè)堆組織表,則該表就是一個(gè)段。sql:SEL
如何查看一個(gè)表所占用的空間大?。?/h2>
每張表都是作為“段”來存儲的,可以通過user_segments視圖查看其相應(yīng)信息。段(segments)的定義:如果創(chuàng)建一個(gè)堆組織表,則該表就是一個(gè)段。sql:SELECT segment_name AS TABLENAME,BYTES FROM user_segments WHERE segment_name="表名"。解釋:segment_name 就是要查詢的表名(大寫),BYTES 為表存儲所占用的字節(jié)數(shù)。本sql的意思就是查詢出表名和表所占的存儲空間大小。
如何查看SQLServer數(shù)據(jù)庫每個(gè)表占用的空間大小?
創(chuàng)建存儲過程:
CREATE PROCEDURE [dbo].[sys_viewTableSpace]
AS
BEGIN
SET NOCOUNT ON
CREATE TABLE [dbo].#tableinfo(
表名 [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
記錄數(shù) [int] NULL,
預(yù)留空間 [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
使用空間 [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
索引占用空間 [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
未用空間 [varchar](50) COLLATE Chinese_PRC_CI_AS NULL
)
insert into #tableinfo(表名, 記錄數(shù), 預(yù)留空間, 使用空間, 索引占用空間, 未用空間)
exec sp_MSforeachtable "exec sp_spaceused "?""
select * from #tableinfo
order by 記錄數(shù) desc
drop table #tableinfo
END
使用的時(shí)候直接 :exec sys_viewtablespace