国产探花免费观看_亚洲丰满少妇自慰呻吟_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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 托里县| 南溪县| 巫山县| 沂南县| 岳普湖县| 中山市| 洪湖市| 商南县| 阳西县| 大名县| 五大连池市| 奉新县| 广宁县| 开封市| 施秉县| 新野县| 全州县| 兴安县| 六安市| 丹江口市| 佛冈县| 栾城县| 广水市| 安丘市| 玛纳斯县| 韶关市| 石泉县| 客服| 榆中县| 湾仔区| 沁源县| 广饶县| 马关县| 仲巴县| 九龙县| 云阳县| 辉南县| 海南省| 曲松县| 郎溪县| 河北区|