如何查看数据库内表记录行数及表大小

create table #Data(name varchar(100),row varchar(100),reserved varchar(100),data varchar(100),index_size varchar(100),unused varchar(100))
 
declare @name varchar(100)
declare cur cursor  for
    select name from sysobjects where xtype=‘u‘ order by name
open cur
fetch next from cur into @name
while @@fetch_status=0
begin
    insert into #data
    exec sp_spaceused   @name
    print @name
 
    fetch next from cur into @name
end
close cur
deallocate cur
 
create table #DataNew(name varchar(100),row int,reserved int,data int,index_size int,unused int)
 
insert into #dataNew
select name,convert(int,row) as row,convert(int,replace(reserved,‘KB‘,‘‘)) as reserved,convert(int,replace(data,‘KB‘,‘‘)) as data,
convert(int,replace(index_size,‘KB‘,‘‘)) as index_size,convert(int,replace(unused,‘KB‘,‘‘)) as unused from #data 
 
select * from #dataNew order by data desc

时间: 2024-10-27 06:12:45

如何查看数据库内表记录行数及表大小的相关文章

[SQL]597(表2行数/表1行数)+602(表的上下拼接)

597. 好友申请 I :总体通过率 思路: 统计申请表中的不重复行数,记为表A (SELECT COUNT(*) FROM (SELECT DISTINCT sender_id, send_to_id FROM friend_request) A) 统计接受表中的不重复行数,记为表B (SELECT COUNT(*) FROM (SELECT DISTINCT requester_id, accepter_id FROM request_accepted) B) 表B结果/表A结果,IFNUL

Sql Server 2008查询数据库中各表记录行数

declare @low int , @unit varchar(10) , @val decimal(18,4) set @unit = 'KB'set @val = case when @unit = 'KB' then 1024 when @unit = 'MB' then 1024*1024 else 1 end select @low = d.low from master.dbo.spt_values dwhere d.number = 1 and d.type = 'E' SELE

mysql查看数据库中所有表的行数,并进行排序

mysql查看数据库中所有表的行数,并进行排序: 进行数据库迁移或还原后,可以通过比较行数,检查数据是否正确. mysql> use information_schema; mysql> select table_name,table_rows from tables where TABLE_SCHEMA= 'kpsumi' order by table_rows desc; 原文地址:http://blog.51cto.com/9285090/2119096

ORACLE 统计查看每一个表的行数

create or replace procedure sp_static_tab /**   * 统计所有表的行数   */is vv_table_name varchar2(64);   vi_table_rows number;  vv_sqlstr     varchar2(200);  cursor r_cursor is select table_name from user_tables  where substr(table_name,1,3)<>'BIN';  begin E

datastage 分析日志获取表记录条数

DataStage通过分析日志获取Job插入目标表的记录数 这只是一种不太好的方法,也许还有更好.更简便的方法.这种方法要求每次运行Job之前删除已有的日志信息,否则无法统计出正确的记录数.当然,在Job跑完之后,可以在shell备份本次Job运行的日志到服务器磁盘. 1       日志清理设置 登录Datastage Administrator,选择对应项目,项目属性->记录,勾选"自动清除作业日志",设置为自动清理上次及以前的日志. Figure 1 Administrat

oracle 统计指定条件下所有表的行数

今天 需要统计下指定用户下的所有表的行数,于是采用了oracle 内置视图: select table_name,num_rows  from dba_tables where owner = 'USERNAME';  或 select table_name,num_rows from user_all_tables ; 可是统计结果发现,有的表的统计数量和实际数量有差异,因此,直接自己写了个统计指定条件下表的记录的sql: --创建一个表用于存储计算结果 create table t_temp

7.04 求一个表的行数

问题:计算一个表的行数,或计算某个列中值的个数.例如,找到职员总数以及每个部门的职员数.解决方案:如果以整个表作为一个组或一个窗口计算行数,则只需使用COUNT函数及"*"字符:select count(*) from emp; 如果要创建多个数据组或窗口,则使用COUNT函数的同时,还要使用GROUP BY子句:select deptno,count(*) from emp group by deptno;

mysql获取group by的总记录行数方法

mysql获取group by内部可以获取到某字段的记录分组统计总数,而无法统计出分组的记录数. mysql的SQL_CALC_FOUND_ROWS 使用 获取查询的行数 在很多分页的程序中都这样写: 代码如下 复制代码 SELECT COUNT(*) from `table` WHERE ......; 查出符合条件的记录总数 代码如下 复制代码 SELECT * FROM `table` WHERE ...... limit M,N; 查询当页要显示的数据 这样的语句可以改成: 代码如下 复

SQL Server遍历所有表统计行数

DECLARE CountTableRecords CURSOR READ_ONLY FOR SELECT sst.name, Schema_name(sst.schema_id) FROM sys.tables sst WHERE sst.TYPE = 'U' DECLARE @name VARCHAR(80), @schema VARCHAR(40) OPEN CountTableRecords FETCH NEXT FROM CountTableRecords INTO @name, @s