zoukankan      html  css  js  c++  java
  • 查询数据库中所有表的记录数,所占空间,索引使用空间

    常用

    --查询数据库中所有表的记录数,所占空间,索引使用空间
     exec sp_MSForEachTable 
     @precommand=N'create table ##(表名 sysname,记录数 int,保留空间 Nvarchar(20),使用空间 varchar(20),索引使用空间 varchar(20),未用空间 varchar(20))',
     @command1=N'insert ## exec sp_spaceused ''?''',
     @postcommand=N'select * from ## order by 记录数 desc'
    DROP TABLE ##

    另一种

    create table #tb(表名 sysname,记录数 int,保留空间 varchar(100),使用空间 varchar(100),索引使用空间 varchar(100),未用空间 varchar(100))
    insert into #tb exec sp_MSForEachTable 'EXEC sp_spaceused ''?'''
    select * from #tb
    go
    SELECT
    表名,
    记录数,
    cast(ltrim(rtrim(replace(保留空间,'KB',''))) as int)/1024 保留空间MB,
    cast(ltrim(rtrim(replace(使用空间,'KB',''))) as int)/1024 使用空间MB,
    cast(ltrim(rtrim(replace(使用空间,'KB',''))) as int)/1024/1024.00 使用空间GB,
    cast(ltrim(rtrim(replace(索引使用空间,'KB',''))) as int)/1024 索引使用空间MB,
    cast(ltrim(rtrim(replace(未用空间,'KB',''))) as int)/1024 未用空间MB
    FROM #tb
    WHERE cast(ltrim(rtrim(replace(使用空间,'KB',''))) as int)/1024 > 0 
    --order by 记录数 desc
    ORDER BY 使用空间MB DESC
    DROP TABLE #tb
  • 相关阅读:
    Mysql卸载
    Mysql安装
    Mysql升级、免安装版MYSQL安装与卸载
    Mysql导入csv文件
    Mysql导入sql文件
    日期月份是英文转成数字——oracle
    两表关联更新数据——oracle
    oracle获取排序第一的数据
    case...when...和decode——oracle
    oracle问题:char类型数据查询不到
  • 原文地址:https://www.cnblogs.com/davidhou/p/4759954.html
Copyright © 2011-2022 走看看