
SQL2000运行突然变慢
我们单位的一台IBM服务器,装的是win2003+SQL2000。从2009年开始24小时运行,一直很正常的,前天开始突然变慢了,以前查询一个月的报表5秒内完成,现在要两...
我们单位的一台IBM服务器,装的是win2003+SQL2000。 从2009年开始24小时运行,一直很正常的,前天开始突然变慢了,以前查询一个月的报表5秒内完成,现在要两分钟左右才能完成,好像死机了一样,在服务器上打开个目录都要老半天,当查询完成后再打开服务器上的目录就不卡了。看任务管理器CPU占用率也不高,内存使用也跟以前没什么大的区别。服务器上装了两个数据库,不论连接哪个数据数查数据都慢,连服务器上本身运行客户端查询数据都这么慢(ping过,网络是正常的)。曾经不知道怎么中了一次时间病毒,后来清掉后安装360杀毒软件一直正常的。求大神解救,谢谢了。
经过多天的检测发现是数据库有一张表本身的问题,但查看下表结构和索引对比以前的拟乎没什么改变,为啥会突然变得奇慢无比呢。把数据库复制一份到测试机上也是这么慢。 展开
经过多天的检测发现是数据库有一张表本身的问题,但查看下表结构和索引对比以前的拟乎没什么改变,为啥会突然变得奇慢无比呢。把数据库复制一份到测试机上也是这么慢。 展开
3个回答
展开全部
因为在使用过程中,索引会产生碎片,引响查询,你可以修复下索引。
另外,sql 2000性能上有问题,数据量达到一定的时候,也会变慢。
你可以考虑升级下数据库。或是删除部分不需要的历史记录。
另外,sql 2000性能上有问题,数据量达到一定的时候,也会变慢。
你可以考虑升级下数据库。或是删除部分不需要的历史记录。
更多追问追答
追问
谢谢您的回答,我用DBCC DBREINDEX整理过索引,但还是一样慢,至于因为数据量的问题导致变慢的话也不应该突然间就大得慢到时间比以前多几十倍的时间吧?
追答
你数库表有多少条记录?
一般好象20万条记录以上速度会明显变慢,这是在项目中出现过的。
其次,你查询语句怎么写的?
如果有用到in 或not in 还有or的条件比较多这样的子查询,会相当影响速度。
in和not in 可以优化成联接查询。
第三,如果你查询的记录比较多,可以考虑下数据库层面的分页,也就是一次查询1000条左右,
第四,如果你是统计查询,count()什么 ,可以Count(有索引的字段),如果你表建了主键,默认count(*)会是你主键的索引.
总之,影响你查询变慢的原因很多,以上几种方式可以具体问题具体分析,酌情使用。
但是,如果你是千万级的数据量,我建议你还是升级你的数据库到sql 2008吧。
展开全部
其实你这个问题应该很好解决 我处理过类似的问题 也是报表突然之间 慢的要死
然后建立了索引 就立竿见影 给你一个附件 有问题再找我 希望能解决你的问题
追问
谢谢您跟carl_fang这朋友位友这么耐心的帮我,不过我把原来的那ddate列上的索引删掉重建也是这么慢,同是这个表用其它列上的有索引的列也用between and返回相同的记录也跟以前一样非常的快。不知道是ddate这列本身存在什么问题还是其它原因,这列是datetime格式的列,如果可以能否抠32328396远程帮我看下呢,再次感谢两位。
追答
可以啊
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
看看数据库日志
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询