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

2016-02-19 12:08 4 1 收藏

想不想get新技能酷炫一下,今天图老师小编就跟大家分享个简单的如何在SQLSERVER中快速有条件删除海量数据教程,一起来看看吧!超容易上手~

【 tulaoshi.com - 编程语言 】

1.SQLSERVER数据库改bit类型为 not Boolean(即,true改成false;false改成true)
例:update 表 set bit字段=bit字段-1
最近有个朋友问我,他说他在SQLSERVER删除几百万到几千万数据是显的很慢,帮他分析了一下,提了一些以下意见,或许对很多人有用,再者也好长没写过BLOG了,一起探讨一下

如果你的硬盘空间小,并且不想设置数据库的日志为最小(因为希望其他正常的日志希望仍然记录),而且对速度要求比较高,并清除所有的数据建议你用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'

来源:http://www.tulaoshi.com/n/20160219/1599968.html

延伸阅读
标签: 孕前准备
生二胎是一直很多家庭的愿望,但受到政策的限制,很多家庭总是不能如愿以偿。而近年来二胎政策是越来越宽松了,只要符合条件的家庭都可以申请生二胎,那么,哪些人可以合法生二胎呢? 11日有媒体报道,广州将有可能再次申请“单独二胎”(夫妻双方一方为独生子女的可生育第二个孩子)试点。广东省计生委、广州计生局随后分...
标签: 电脑入门
很多情况下我们在Excel单元格中输入的数据是含有固定内容的,比如来自同一区县的身份证号码的前六位数字一定是相同的,或者来自同一县市的人的联系地址中省市县部分也是固定的。这种情况下,如果老老实实地依次输入,效率就很低。怎样才能快速准确地输入这些含有固定内容的数据呢?以下的几个方法我想必有一种能帮你解决问题。 1.自动填充 ...
如何在win7系tulaoshi统中实现快速删除U盘?   很多时候,咱们都需要在自己的win7旗舰版64位系统下载电脑中使用到U盘设备,现在的U盘,随着内置的空间越来越大,U盘的功能也开始变得越来越广了,除了最开始的传输保存文件,现在的U盘还可以作为扩充win7旗舰版电脑空间的工具,成为用户操作win7旗舰版电脑的好帮手。但是不少用户也觉得...
标签: 电脑入门
Linux系统操作中,如果文件中的数据过多,想要删除重复数据行是非常麻烦的,查找不方便,那么有什么方法能够快速删除文件重复数据行呢?下面图老师小编就给大家介绍下如何删除文件重复数据行,一起来看看吧。 一、去掉相邻重复的数据行 代码如下: $cat data1.txt | uniq 输出: beijing wuhan beijing wuhan 二、去掉所有重复...
标签: 电脑入门
有些iPhone用户在拍了照片之后,就不再管那些照片了,因而使得自己的iPhone上积累了许多照片,这些照片会使得iPhone运行的速度减慢,那么该如何快速的删除这些不要的照片呢?现在就让系统之家图老师小编来为你想一个方法吧。 如何找到ImageCapture 打开ImageCapture(图像捕捉),你可以向我一样先打开Finder,再在应用程序中一个个的看...

经验教程

955

收藏

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