SQL計算資料庫表占用的真實空間大小

2022-01-31 04:24:48 字數 1109 閱讀 4777

最近客戶的資料庫暴漲,一開始找不到原因,用sql查詢表的空間大小,結果之前用的sql語句只能查詢除了text,image外的字段大小.搞得一時間混亂不堪.後來諮詢了大師們,找到用sp_spaceused這個系統函式可以查詢表的真實大小,包含text等字段.sql如下:

declare @id            nvarchar(100)

create table #spt_space

( [name] nvarchar(50) null,

[rows] int null,

[reserved] nvarchar(50) null,

[data] nvarchar(50) null,

[index_size] nvarchar(50) null,

[unused] nvarchar(50) null

)set nocount on

declare c_tables cursor for

select name from sysobjects where xtype = 'u'

open c_tables fetch next from c_tables into @id

while @@fetch_status = 0

begin

/* code from sp_spaceused */

insert into #spt_space ([name],[rows],reserved,data,index_size,unused)

exec sp_spaceused @id

fetch next from c_tables into @id

endselect * from(

select *,cast(replace(reserved,'kb','') as int) as reservedindex from #spt_space

) corder by c.reservedindex desc

drop table #spt_space

close c_tables

deallocate c_tables

如何計算MySQL資料庫占用記憶體

估計有很多開發,或者剛剛接觸mysql資料庫的運維人員,不太清楚,如何去計算mysql資料庫占用記憶體總大小。估計有時候,還會奇怪,明明設定的buffer pool size不大,資料庫卻因為作業系統記憶體不足,導致mysql資料庫程序被系統自動kill掉了。下面就來給你一一揭曉答案 mysql資料...

SQL Server 查詢資料庫每張表的占用空間

具體 查詢表占用空間的主要語句為 exec sp spaceused temp 微軟官方解釋 判斷臨時表是否存在,存在則刪除重建 if exists select 1 from tempdb.sysobjects where id object id tempdb.tabname and xtype...

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

建立儲存過程 create procedure dbo sys viewtablespace as begin set nocount on create table dbo tableinfo 表名 varchar 50 collate chinese prc ci as null 記錄數 int...