日期:2014-05-19  浏览次数:20560 次

紧急求助,数据库有150G,连执行Select Count(1) From 表都执行不出结果了!!
数据库是SQL   Server   2000   SP4   。主要是两张造成数据很大,第一张大约50万条记录,第二张大约有150万条记录.
在查询分析器里对第一张执行Select   Count(1)   From   Goods 都执行不出结果了。

请教高手碰到这种情况要如何处理??客户急死了,还请高手指点几招。

------解决方案--------------------
Select Count(*) From Goods

50万,不大.应该没问题的.
------解决方案--------------------
这样的数据量虽然大,不过50w,150w不算太大的。
楼主用DBCC CHECKTABLE 先检查以下两个表是否有错误,进而修复。
另外,对于count不能出来记录的问题,是否存在其他进程堵塞问题,先排出堵塞。
------解决方案--------------------
确保你的表有索引\主键等.
如果没有就会出现你的情况.
------解决方案--------------------
........我还以为数据库2个表占了150G
LZ标题当~

150万 也没这慢啊~
------解决方案--------------------
1、检查表中是否有主键
2、检查是否有进程锁定了这个表
3、用dbcc checkdb检查是否有分配错误和一致性错误
4、加with (nolock)试试,如:

select count(*) from 表名 with (nolock)
------解决方案--------------------
加个索引
select count(*) from 表名
1500万都没这么慢
------解决方案--------------------
呵呵,150W数据,小数据啦!

千万级别数据,也不过是几秒就出来的呵呵。

检查一下,是否是数据碎片太多?重建索引看看呵呵。

------解决方案--------------------
Top
wangtiecheng(不知不为过,不学就是错!) ( ) 信誉:100 2007-7-30 22:39:25 得分: 0



1、检查表中是否有主键
2、检查是否有进程锁定了这个表
3、用dbcc checkdb检查是否有分配错误和一致性错误
4、加with (nolock)试试,如:

select count(*) from 表名 with (nolock)




------解决方案--------------------
中午执行就好了...我猜是...
------解决方案--------------------

--先备份数据库

--截断事务日志
backup log 数据库名 with no_log
go

--收缩数据库
dbcc shrinkdatabase(数据库名)
go