首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

你们是怎样统计表的总数的?难道也是 SELECT COUNT() ?解决办法

2012-01-14 
你们是怎样统计表的总数的?难道也是 SELECT COUNT() ???当一个表的数据达到百万级后,再用SELECT COUNT()

你们是怎样统计表的总数的?难道也是 SELECT COUNT() ???
当一个表的数据达到百万级后,再用SELECT COUNT() 后会很慢,但是因为要做分页所以总记录数还是要取出来的.
不知道大家有什么好的办法?

目前想到一个方法,就是另做一个表,专门来统计其他表的总记录数的.然后对其他表使用触发器,当insert和delete是更新记录数...

[解决办法]

SQL code
select rows from sysindexes where name='aaaa'
[解决办法]
SQL code
select * from sysindexes where object_name(id)='aaa'
[解决办法]
SQL code
--这种方法得到的结果不准确select rows from sysindexes where name='TableName'--count(1)比count(*)快select count(1) from TableName
[解决办法]
换个写法.
select * from sysindexes where object_id('aaa')=id

要求不太高的话,可以使用.
因为这个的更新不是很准确的.要求高,就自己count
[解决办法]
DBCC UPDATEUSAGE 'database_name','table_name' --报告目录视图中的页数和行数错误并进行更正。
select rows from sysindexes where indid < 2 and rows > 0 and id = object_id( 'tablename ')--查询

这个结果是准确的,跟count一样,效率也高

热点排行
Bad Request.