sql查询表大小行数以及使用空间

DECLARE @D DATETIME
SET @D=GETDATE()

SET NOCOUNT ON
EXEC SP_MSFOREACHTABLE
@PRECOMMAND=N‘
CREATE TABLE ##(
ID INT IDENTITY,
表名 SYSNAME,
字段数 INT,
记录数 INT,
保留空间 NVARCHAR(20),
使用空间 VARCHAR(20),
索引使用空间 VARCHAR(20),
未用空间 VARCHAR(20))‘,
@COMMAND1=N‘INSERT ##(表名,记录数,保留空间,使用空间,索引使用空间,未用空间) EXEC SP_SPACEUSED ‘‘?‘‘
        UPDATE ## SET 字段数=(SELECT COUNT(*) FROM SYSCOLUMNS WHERE ID=OBJECT_ID(‘‘?‘‘)) WHERE ID=SCOPE_IDENTITY()‘,
@POSTCOMMAND=N‘SELECT * FROM ## ORDER BY 记录数 DESC DROP TABLE ##‘
SET NOCOUNT OFF 

SELECT [语句运行花费时间(毫秒)]=DATEDIFF(MS,@D,GETDATE())
时间: 2024-08-05 11:17:50

sql查询表大小行数以及使用空间的相关文章

oracle 查看表行数所占空间大小

最新数据库空间有感觉捉急了,上次,删了些数据空了800+G,撑了一个多月,现在还有400+G,每天10G的增量,多少空间也感觉不够用啊. 不能加硬盘,就只有删数据了.. 删数据,人懒,直接找表行最多,占空间最大的表删 于是就有了下面一段SQL: select ut.table_name,ut.OWNER,ut.tablespace_name,num_rows,us.BYTES from dba_tables ut,(select segment_name,sum(bytes)/1024/1024

SQL查询表占用空间大小

SQL查询表占用空间大小. create table tmp (name varchar(50),rows int,reserved varchar(50),data varchar(50),index_size varchar(50),unused varchar(50))insert into tmp (name,rows,reserved,data,index_size,unused) exec sp_msforeachTable @Command1="sp_spaceused '?'&q

SQL添加表字段以及SQL查询表,表的所有字段名

通用式: alter table [表名] add [字段名] 字段属性 default 缺省值 default 是可选参数 增加字段: alter table [表名] add 字段名 smallint default 0 增加数字字段,整型,缺省值为0 alter table [表名] add 字段名 int default 0 增加数字字段,长整型,缺省值为0 alter table [表名] add 字段名 single default 0 增加数字字段,单精度型,缺省值为0 alter

MSSQL-Scripter,一个新的生成T-SQL脚本的SQL Server命令行工具

这里向大家介绍一个新的生成T-SQL脚本的SQL Server命令行工具:mssql-scripter.它支持在SQL Server.Azure SQL DB以及Azure SQL DW中为数据库生成CREATE和INSERT T-SQL脚本. Mssql-scripter是一个跨平台的命令行工具,功能等同于SQL Server Management Studio中的Generate and Publish Scripts Wizard. 咱们能够在Linux.macOS和Windows上使用它

SQL Server 动态行转列(参数化表名、分组列、行转列字段、字段

一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 实现代码(SQL Codes) 方法一:使用拼接SQL,静态列字段: 方法二:使用拼接SQL,动态列字段: 方法三:使用PIVOT关系运算符,静态列字段: 方法四:使用PIVOT关系运算符,动态列字段: 扩展阅读一:参数化表名.分组列.行转列字段.字段值: 扩展阅读二:在前面的基础上加入条件过滤: 参考文献(References) 二.背景(Contexts) 其实行转列并不是一个什么新鲜的

经典SQL问题: 行转列<转>

转 经典SQL问题: 行转列 发表于5个月前(2015-09-19 17:49)   阅读(2905) | 评论(0) 20人收藏此文章, 我要收藏 赞0 学校里面记录成绩,每个人的选课不一样,而且以后会添加课程,所以不需要把所有课程当作列.数据库grade里面数据如下图,假定每个人姓名都不一样,作为主键.本文以MySQL为基础,其他数据库会有些许语法不同. 数据库数据: 处理后效果: 下面介绍三种方法: 方法一: ? 1 2 3 4 5 SELECTDISTINCT a.name, (SELE

sql server显示行号

-- 工具->--   选项->--   文本编辑器-> --   所有语言->--   常规-> --   显示->--    行号 sql server显示行号,布布扣,bubuko.com

oracle sql查询表外键关系

SELECT F.TABLE_NAME, F.CONSTRAINT_NAME, F.COLUMN_NAME, F.POSITION, P.TABLE_NAME, P.COLUMN_NAME, P.POSITION ,R.OWNER FROM USER_CONSTRAINTS R, USER_CONS_COLUMNS F, USER_CONS_COLUMNS P WHERE 1=1 and R.OWNER = UPPER('ATS001') AND R.TABLE_NAME = UPPER('AC

C/C++ 获取代码执行的行数以及文件名

#include <iostream>#include <string>using namespace std; void _tmain(int argc, TCHAR *argv[]){ int line = __LINE__; string filename = __FILE__; cout<<"the line is:"<<line<<endl; cout<<"the filename is :&q