为什么我的 sql server 运行了一段时间以后就变得非常慢??
为什么我的 sql server 运行了一段时间以后就变得非常慢?
数据库数据量中等吧,主要有一个论坛,大约有2~3百人在线,用户表有 3万多条记录,贴子的表有15万左右,3百人在线速度并没有慢下来,浏览速度等的还是蛮快的,服务器内存有 512,已用内存一般有 540M左右,但是还有虚拟内存,内存我想应该不是什么问题吧,cpu是P3 850 双cpu,CPU使用率一般是 20~30 ,论坛是 asp.net 制作的,我想是程序的原因的可能性不大,因为以前用 动网论坛和一个 php 连 sql server 数据库的时候也出这种情况,就是平时都还好的,运行一段时间突然慢下来了,总是提示运行超时(表中记录少的地方非常慢,记录稍多一点就没法运行,总是超时),用 analyzer 检索数据也是非常的慢,当出现这种情况的时候,cpu使用率也降下来了,好象是都闲着不做事(把 sql server 停了,然后再启动起来又好了,但我不可能一天到晚守着服务器),我头疼死了,不知道有没有谁碰到过这种情况,帮忙解决一下.
另外,我用profile分析了一下,为什么我 select * from 表, 这个表中有 3万多条记录,但是 Reads 却只有 1千多,还有就是,我用它监视了一段时间以后,发现有几个特别耗资源的,但是 TextData 竟然是Null,我都不知道是一条什么命令如此耗资源,具体的记录是
eventclass(15),TextData(Null),NTUserName(NULL),ClientProcessID(0),ApplicationName(.Net SqlClient Data Provider),LoginName(netgame),SPID(60),Duration(3397140),StartTime(2002-03-31 07:39:25.327),Reads(445068),Writes(106),CPU(15083)
我数据库中最大的表也不过 15万条记录,不知道它的 Reads(445068) 40多万条记录是哪儿来的,还有要请教一下大家,这里的CPU时间是不是毫秒,就是说上面的 cpu(15083) 是不是就是 15.083秒 ?