SQL Server 2005 当中 大量数据 Count(*)慢的解决方法?

擒兽 2006-04-01 12:05:31
数据量达到一定程度时,WEB方式Count(*)时间很长。

请问大虾用啥办法提升效率。

DBMS内是否有现成的Count(*)数?如果有是怎样读取?

或者

另外建立一个表,在SQL语句Delete和Insert时 维护自定义的Count(*)数
...全文
811 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
哈哈 2006-05-18
  • 打赏
  • 举报
回复
收藏
tz_xiong 2006-05-18
  • 打赏
  • 举报
回复
学习一下了
ashzs 2006-04-01
  • 打赏
  • 举报
回复

--建立聚集索引情况
select rowcnt
from sys.sysindexes
where id=object_id('表名') and name = '聚集索引名'

--没有建立聚集索引情况
select rowcnt
from sys.sysindexes
where id=object_id('表名') and name is null

原理:默认sql2005的统计值是自动更新的。通过统计值的更新,sys.sysindexes中的rowcnt字段表示为表中记录数。
huailairen 2006-04-01
  • 打赏
  • 举报
回复
select rowcnt
from sysindexes
where id=object_id('表名') and indid=0
huailairen 2006-04-01
  • 打赏
  • 举报
回复
你可以使用
select rowcnt
from sysindexes
where id=object_id('uunx') and indid=0
返回表的数量,但是这个值不是很精确。
擒兽 2006-04-01
  • 打赏
  • 举报
回复
Select rowcnt From sys.sysindexes Where id=object_id('表') and indid=1

查询分析没问题,到了WEB就报错,检查了一下WEB里已经得到正确结果。

有兴趣的就搜一下下面的错误信息,微软的细节问题真多...

-------------------------------------------------------
Microsoft VBScript 运行时错误 错误 '800a000d'

类型不匹配

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧