从MS SQL删除大数据说开去 | 郑州计算机学校_郑州电脑学校_郑州电脑培训

7

10-2013

  对于数据库中删除数据,你说要注意什么呢?代码怎样写?  多数同学看到这两个问题,想都不想就说,就一个Delete语句,注意删除的条件不要删除错了就是,有什么好注意的!  是的,可以我再问一下,删除动作是会写日志的,你放日志的磁盘够空间吗?  本文的内容:  1、我先举个实际的工作问题;  2、整理T-SQL的删除数据的语句和写法;  3、解决这个工作中的问题和效果总结。  先举个我实际工作中的事例,我们在这样的一个应用,每天定时收集一些数据写入数据库中,数据库中有一批表(十几个)存放这些数据,由于数据量很大,三个月的单表数据在1亿以上,所以,我们只用表保存90天的数据,用于做什么我们在这里不关心好不好。在每天都有一个Job去删除90天以前的数据。由于这是很早前,我的前辈所做的,现在人已不在这公司了。这些表所有的动作就以下的语句来删除:1: DELETE FROM dbo.S5_BinTest_Detail2: where BinTestID in (SELECT BinTestID3: from dbo.S5_BinTest_Info4: where TS <dateadd(dd,-90,getdate())5: )6: and datediff(dd,(select min(TS) from S5_BinTest_Info),TS)<=07:8: DELETE from dbo.S5_BinTest_Info where TS <dateadd(dd,-90,getdate())9: and datediff(dd,(select min(TS) from S5_BinTest_Info),TS)<=0  这只是一次只删除一天的数据,也就是日期最早的,90天以前的。昨晚就收到了以下的服务器报警:  我看到平时服务器上各磁盘的空间使用情况如下,D盘是日志文件所在的盘,平时大概有95G的可用空间;  E盘是数据文件存放的盘,平时有170G的可用空间。由于数据每天的新增和删除的量都基本平衡,所以也就没有多大的变化。  现在看到数据库文件已有121G这么大。多个亿级别的表了。

该日志 2013年10月07日发表在网络安全技术分类下, 通告目前不可用,你可以至底部留下评论。
转载请注明: 从MS SQL删除大数据说开去 | 郑州计算机学校_郑州电脑学校_郑州电脑培训