如何查看SQL2000数据库中所有表的数据量大小
发布网友
发布时间:2022-04-07 23:14
我来回答
共3个回答
热心网友
时间:2022-04-08 00:43
直接在查询分析器运行即可:
declare @id int
declare @type character(2)
declare @pages
int
declare @dbname sysname
declare @dbsize dec(15,0)
declare @bytesperpage dec(15,0)
declare @pagesperMB dec(15,0)
create table #spt_space
(
objid int null,
rows int null,
reserved dec(15) null,
data dec(15) null,
indexp dec(15) null,
unused dec(15) null
)
set nocount on
-- Create a cursor to loop through the user tables
declare c_tables cursor for
select id
from sysobjects
where xtype = 'U'
open c_tables
fetch next from c_tables
into @id
while @@fetch_status = 0
begin
/* Code from sp_spaceused */
insert into #spt_space (objid, reserved)
select objid = @id, sum(reserved)
from sysindexes
where indid in (0, 1, 255)
and id = @id
select @pages = sum(dpages)
from sysindexes
where indid < 2
and id = @id
select @pages = @pages + isnull(sum(used), 0)
from sysindexes
where indid = 255
and id = @id
update #spt_space
set data = @pages
where objid = @id
/* index: sum(used) where indid in (0, 1, 255) - data */
update #spt_space
set indexp = (select sum(used)
from sysindexes
where indid in (0, 1, 255)
and id = @id)
- data
where objid = @id
/* unused: sum(reserved) - sum(used) where indid in (0, 1, 255) */
update #spt_space
set unused = reserved
- (select sum(used)
from sysindexes
where indid in (0, 1, 255)
and id = @id)
where objid = @id
update #spt_space
set rows = i.rows
from sysindexes i
where i.indid < 2
and i.id = @id
and objid = @id
fetch next from c_tables
into @id
end
select TableName = (select left(name,60) from sysobjects where id = objid),
Rows = convert(char(11), rows),
ReservedKB = ltrim(str(reserved * d.low / 1024.,15,0) + ' ' + 'KB'),
DataKB = ltrim(str(data * d.low / 1024.,15,0) + ' ' + 'KB'),
IndexSizeKB = ltrim(str(indexp * d.low / 1024.,15,0) + ' ' + 'KB'),
UnusedKB = ltrim(str(unused * d.low / 1024.,15,0) + ' ' + 'KB')
from #spt_space, master.dbo.spt_values d
where d.number = 1
and d.type = 'E'
order by reserved desc
drop table #spt_space
close c_tables
deallocate c_tables
热心网友
时间:2022-04-08 02:01
每张表都有一个数据库文件dbf,看一下就行了,不过我建议 select count('*') from table,一下,对于数据行增加较快的表可考虑重新规划一下。
热心网友
时间:2022-04-08 03:36
目前没有办法,不过我身边有高手,我帮你问问。
如何查看SQL2000数据库中所有表的数据量大小
直接在查询分析器运行即可:declare @id int declare @type character(2)declare @pages int declare @dbname sysname declare @dbsize dec(15,0)declare @bytesperpage dec(15,0)declare @pagesperMB dec(15,0)create table #spt_space (objid int null,rows int null,reserved dec(15) null,dat...
SQL2000中我要检索X数据库中 所有表记录行数小于2的表 返回数据库中记...
select name from sysobjects where xtype='U' --找出数据库中的所有表 open curdb fetch next from curdb into @dbname while @@fetch_status=0 begin select @str_sql='if exists(select * from (Select count(*) as num From '+ @dbname +')tmp where num<2) print '''+ @dbn...
sql server 2000中如何查询数据库中哪个表行数最多?
第一条的TABLENAME就是最多的那个表了
有没有语句能查询SQL数据库中每一个表的大小
表名 sysname,字段数 int,记录数 int,保留空间 Nvarchar(10),使用空间 varchar(10),索引使用空间 varchar(10),未用空间 varchar(10))',command1=N'insert ##(表名,记录数,保留空间,使用空间,索引使用空间,未用空间) exec sp_spaceused ''?''update ## set 字段数=(select count(*) from s...
如何用sql统计数据库表的大小
第一种:进去指定schema 数据库(存放了其他的数据库的信息)use information_schema 第二种:查询所有数据的大小 select concat(round(sum(DATA_LENGTH/1024/1024),2),'MB') as data from TABLES(http://www.6ddd.com)第三种:查看指定数据库的大小,比如说:数据库apoyl select concat(round(...
sql数据库中,如何快速找数据量最大的几个表
sql的每一个数据库中有一个名名为’sysobjects’的表,这个系统表中储存了当前数据库中所有对象(包括系统表,用户表、日志、存储过程)的信息,可以用这个表链获取数据库中表的数目和名称,之后向获得某个制定数据库的信息,可以使用带参数的 sp_helpbd过程 我想不管是什么db总是有相应的业务逻辑的,...
在PL/SQL中如何用SQL语句查询数据库中所有表的数据数量?
select tablespace_name,sum(bytes)/1024/1024 from dba_extents where tablespace_name='数据表空间名' group by tablespace_name;单位:M
如何查看数据库每个表占用的空间
第一种:如果想知道MySQL数据库中每个表占用的空间、表记录的行数的话,可以打开MySQL的 information_schema 数据库。在该库中有一个 TABLES 表,这个表主要字段分别是:TABLE_SCHEMA : 数据库名 TABLE_NAME:表名 ENGINE:所使用的存储引擎 TABLES_ROWS:记录数 DATA_LENGTH:数据大小 INDEX_LENGTH:...
如何查看SQLServer数据库每个表占用的空间大小
sql系统存储过程:sp_spaceused \\'表名\\',可以查看表使用空间的情况。如图 data,即已使用的空间
在sql server数据库中如何得知表的大小而又不影响性能?
你描述的不清楚到底是什么表大小,但是谈及性能,我猜想你应该是想知道表的行数,影响最低的方式就是通过系统函数来获取,如图。select count(1) from test1gosp_spaceused test1