国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

SQL中查看數據庫各表的大小

2024-07-21 02:49:54
字體:
來源:轉載
供稿:網友
SQL中查看數據庫各表的大小

SQL中查看數據庫各表的大小

編寫人:CC阿爸

2014-6-17

在日常SQL數據庫的操作中,如何快速的查詢數據庫中各表中數據的大小。

以下有兩種方法供參考:

第一種:

create table #t(name varchar(255), rows bigint, reserved varchar(20), data varchar(20), index_size varchar(20), unused varchar(20))

exec sp_MSforeachtable "insert into #t exec sp_spaceused '?'"

select * from #t order by rows desc

select 'select * from '+name from #t order by rows desc

drop table #t

第二種:

CREATE PROCEDURE get_tableinfo AS

if not exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[tablespaceinfo]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)

create table tablespaceinfo --創建結果存儲表

(nameinfo varchar(50) ,

rowsinfo int , reserved varchar(20) ,

datainfo varchar(20) ,

index_size varchar(20) ,

unused varchar(20) )

delete from tablespaceinfo --清空數據表

declare @tablename varchar(255) --表名稱

declare @cmdsql varchar(500)

DECLARE Info_cursor CURSOR FOR

select o.name

from dbo.sysobjects o where OBJECTPROPERTY(o.id, N'IsTable') = 1

and o.name not like N'#%%' order by o.name

OPEN Info_cursor

FETCH NEXT FROM Info_cursor

INTO @tablename

WHILE @@FETCH_STATUS = 0

BEGIN

if exists (select * from dbo.sysobjects where id = object_id(@tablename) and OBJECTPROPERTY(id, N'IsUserTable') = 1)

execute sp_executesql

N'insert into tablespaceinfo exec sp_spaceused @tbname',

N'@tbname varchar(255)',

@tbname = @tablename

FETCH NEXT FROM Info_cursor

INTO @tablename

END

CLOSE Info_cursor

DEALLOCATE Info_cursor

GO

----執行存儲過程

--exec get_tableinfo

--

--查詢運行該存儲過程后得到的結果

select * from tablespaceinfo

order by cast(left(ltrim(rtrim(reserved)) , len(ltrim(rtrim(reserved)))-2) as int) desc


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 辉县市| 长阳| 石屏县| 宜昌市| 开远市| 衡南县| 成安县| 梁山县| 保康县| 台州市| 静乐县| 东城区| 林州市| 绥棱县| 阿坝县| 平谷区| 怀安县| 乌海市| 南涧| 印江| 佛坪县| 德昌县| 祁连县| 合作市| 上思县| 南昌县| 申扎县| 得荣县| 马公市| 湘潭市| 格尔木市| 乌拉特中旗| 阳山县| 延吉市| 晋城| 涿鹿县| 高尔夫| 普宁市| 饶河县| 四川省| 张家界市|