小弟最近用sql server 数据库的时候碰到问题,一直未能 解决。

用的软件是sqlserver2008,清理数据库里的LOG表格,用的语句是:deleteev_logwhereREC_DAT<='2008-08-0100:00:01'。... 用的软件是sql server 2008 ,清理数据库里的LOG表格,用的语句是:delete ev_log where REC_DAT<='2008-08-01 00:00:01' 。在执行以后大约5分钟内存就被占到98%了,而且一直不能完成,顺便说一下,服务器内存是24个G,我觉得服务器本身应该是没有问题,感觉问题是出在数据库上,不知道什么怎么解决。数据库的原文件现在已经有120个G了。
求教,跪求!

哪位大哥知道解决办法,在这里回答也行,邮箱:xtn5210@163.com,联系也行。
展开
 我来答
百度网友72ef19b43
2012-11-02 · TA获得超过474个赞
知道小有建树答主
回答量:394
采纳率:0%
帮助的人:343万
展开全部
几千万数量级的数据库还没遇到过呢,如果兄弟是测试数据库,烦请备份压缩发我一份。
关于你的问题,删除表记录,有两种:delete和TRUNCATE,区别就是前者操作会记录日志而后者不会;但是后者不能跟where子句。具体到你的问题,上述两个命令都不太适合你。建议用select into 将有用数据导到另外一个表中。而不是你在原表中删除没用的数据。
kennychenxiang
2012-11-02 · TA获得超过201个赞
知道小有建树答主
回答量:180
采纳率:100%
帮助的人:181万
展开全部
这个表有多少条记录?
追问
5400多万条
追答
应该是你这条语句的效率太低,如果这个日期字段经常使用,建议建为索引,因为记录量大,建 索引时耐心些,建完后再用你那个删除语句 ,应该很快就完成删除了,不用5分钟,而且还出错。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友6bfc944
2012-11-02 · TA获得超过746个赞
知道小有建树答主
回答量:529
采纳率:0%
帮助的人:291万
展开全部
不知道 ,顶一下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式