如何在 SQL SERVER 中快速有条件删除海量数据

2016-02-19 12:10 2 1 收藏

下面,图老师小编带您去了解一下如何在 SQL SERVER 中快速有条件删除海量数据,生活就是不断的发现新事物,get新技能~

【 tulaoshi.com - 编程语言 】

最近有个朋友问我,他说他在SQLSERVER删除几百万到几千万数据是显的很慢,帮他分析了一下,提了一些以下意见,或许对很多人有用。

    如果你的硬盘空间小,并且不想设置数据库的日志为最小(因为希望其他正常的日志希望仍然记录),而且对速度要求比较高,并清除所有的数据建议你用turncate table1,因为truncate 是DDL操作,不产生rollback,不写日志速度快一些,然后如果有自增的话,恢复到1开始,而delete会产生rollback,如果删除大数据量的表速度会很慢,同时会占用很多的rollback segments,同时还要记录下G级别的日志 ;当然如果有条件删除比如where time〈'2006-3-10' 怎么办,能不能不记录日志用delete,回答是不行的,SQL Server 引擎在设计上就会对 Delete 操作进行日志记录。至今没有办法强制制定某一些语句不记录到日志中,如果在执行 Delete Table1 where Time 〈 '2006-3-10' 由于涉及的记录比较多,所以日志记录也相应很大(3-4G),如果可行,我建议用以下方式:

    选出您所需要保留的记录到新的表。如果您使用 Full Recovery Mode
根据SELECT INTO的记录数,日志可能会比较大
Select * into Table2 From Table1 Where Time 〉 = '2006-03-10'

    然后直接Truncate Table1。无论何种恢复模式都不会进行日志记录:Truncate table Table1

    最后对Table2进行改名为Table1:EC sp_rename 'Table2', 'Table1' 

来源:https://www.tulaoshi.com/n/20160219/1600080.html

延伸阅读
标签: 怀孕
孕妇吃什么鱼最好 选择鱼有条件 孕妇吃什么鱼最好,孕妇吃墨鱼有滋肝肾、补气血、清胃去热等功能。有养血、明目、通经、安胎、利产、止血、催乳等功能。鲤鱼有健脾开胃、利尿消肿、止咳平喘、清热解毒等功能。同时,对于孕妇来说有安胎通乳的功效。 孕妇吃什么鱼最好,孕妇吃青鱼有补气养胃、化湿利水、祛风除烦等功能。其所含锌硒等微量...
iphone如何设置有条件下的呼叫转移?   打开电话应用 如果需要设置无应答情况下的呼叫转移,则输入**61*转移到的目标号码*秒数#,如**61*13612345678*5#就表示5秒内不接通就转移到13612345678这个号码 再点击呼叫按钮即可显示呼叫转移成功提示 如果需要取消无应答时候的呼叫转移则输入取消转移指令##61*11#再点...
标签: 电脑入门
在Excel以前的版本中,可以通过高级筛选来删除重复记录,在Excle 2007中不但保留了高级筛选这个功能,而更为值得注意的是Excel 2007增加了一个删除重复项按钮,从而这项操作变得更加方便、快捷。 首先选择需要删除重复项的所有单元格。如果是要对所有数据进行这一操作,可以任意选择一个单元格。 在工具栏中选择数据选项卡,再单击排序与...
标签: 夫妻 情感
怎样的老公才是好老公?爱你没有条件 怎样的老公才是好老公? 你知道好老公有什么标准吗?下面我们一起来看看,好老公的标准吧! 1、爱你没有条件 你一定爱这个男人,这个男人也一定爱你。这种爱是纯感情的,不带有任何利益色彩,也不带有任何功利目的。你们两个人在一起,不论何时何地,都会非常地开心快乐和幸福...
对于采用 SQL Server 2005 Analysis Service技术生成多维数据集的BI项目来说,数据访问权限的控制有两个级别:一个是在多维数据集中设置,一个是在前台展现工具中设置。本文将介绍怎样在多维数据集中设置访问权限控制的方法。 对于访问控制需求(这里以SQL Server 2005自带的示例说明)有如下说明:假设Adventure Works Cycles将全球...

经验教程

453

收藏

41
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部