zoukankan      html  css  js  c++  java
  • 统计数据库中各个表和空间使用情况

    为了方便大家使用,我写成了一个存储过程,如果喜欢就拿去吧,如果觉得有什么不对的地方,留言哈,我有一空就会修改!

    废话少说,上代码(转载请注明出处,谢谢):

    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    -- =============================================
    --
    Author: longle(http://longle.taobao.com)
    --
    Create date: 2011-06-17
    --
    Description: 统计数据库中各个表和空间使用情况
    --
    =============================================
    ALTER PROCEDURE sp_GetDbSpaceUsedInfo
    AS
    BEGIN
    SET NOCOUNT ON;
    DECLARE @temp VARCHAR(50) --声明表名临时变量

    DECLARE c_rlt CURSOR --声明游标c_rlt
    FOR
    select o.name from sysobjects o,sysindexes i
    where o.id=i.id and o.Xtype='U' and i.indid<2 --获取数据库中的表名
    /*
    声明临时表,要求字段必须和 EXEC sys.sp_spaceused 'tbname'中返回的结果一致
    EXEC sys.sp_spaceused 'tbname' 获取指定表名的空间使用情况
    */
    IF NOT EXISTS(SELECT NAME FROM sys.sysobjects WHERE name='#temptable')
    BEGIN
    create table #temptable(
    [name]
    VARCHAR(50),
    [rows] INT,
    [reserved]
    varchar(50),
    [data]
    VARCHAR(50),
    [size]
    VARCHAR(50),
    [unused]
    varchar(50)
    )
    END

    OPEN c_rlt --打开游标
    FETCH NEXT FROM c_rlt INTO @temp
    WHILE @@FETCH_STATUS=0
    BEGIN
    FETCH NEXT FROM c_rlt INTO @temp --把查询结果放到临时变量@temp中
    INSERT INTO #temptable EXEC sys.sp_spaceused @temp --把查询结果放到临时表#temptable中
    END

    CLOSE c_rlt --别忘记关闭游标
    DEALLOCATE c_rlt --别忘记删除游标

    SELECT * FROM #temptable --从临时表查查询结果
    DROP TABLE #temptable --删除临时表了

    END
    GO
    /*测试用例
     
    exec sp_GetDbSpaceUsedInfo

    */

    结果如下:

    (转载请注明出处,谢谢,有什么问题请留言哈!)

    参考资料:

    -------------------------------------------------------------------------------------------------------------------------------------------------
    数据库优化
    数据库教程
    数据库实战经验分享博客

    百度云下载

    评测


  • 相关阅读:
    numpy排序函数:sort、argsort、lexsort、partition、sorted
    转载一份分类、回归、排序的评价指标
    python类的全面介绍
    好文推荐:转载一篇别人kaggle的经验分享
    实现ls -l
    C命令行参数
    C语言调用汇编
    汇编调用C程序
    linux 进程通信 :流套接字
    linux进程通信:消息队列
  • 原文地址:https://www.cnblogs.com/longle/p/2083512.html
Copyright © 2011-2022 走看看