zoukankan      html  css  js  c++  java
  • 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') =

         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

  • 相关阅读:
    相关系数
    T检验
    Python模块常用的几种安装方式
    DOM与SAX读取XML方式的不同
    Base64编码
    node.js网页爬虫
    Node.js Express 框架
    Node.js Web 模块
    Node.js GET/POST请求
    Node.js 常用工具
  • 原文地址:https://www.cnblogs.com/bribe/p/3791704.html
Copyright © 2011-2022 走看看