紧急求助,数据库有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