博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何在SQLSERVER中快速有条件删除海量数据(转)
阅读量:2495 次
发布时间:2019-05-11

本文共 622 字,大约阅读时间需要 2 分钟。

如果你的硬盘空间小,并且不想设置数据库的日志为最小(因为希望其他正常的日志希望仍然记录),而且对速度要求比较高,并清除所有的数据建议你用turncate table1,因为truncate 是DDL操作,不产生rollback,不写日志速度快一些,然后如果有自增的话,恢复到1开始,而delete会产生rollback,如果删除大数据量的表速度会很慢,同时会占用很多的rollback segments,同时还要记录下G级别的日志 ;当然如果有条件删除比如where time选出您所需要保留的记录到新的表。如果您使用 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'

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10294527/viewspace-122596/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10294527/viewspace-122596/

你可能感兴趣的文章
weblogic安全漫谈
查看>>
DEDECMS全版本gotopage变量XSS ROOTKIT 0DAY
查看>>
出路在哪里?出路在于思路!智者无敌
查看>>
Linux基础系列:常用命令(5)_samba服务与nginx服务
查看>>
Web前端开发CSS基础(2)
查看>>
【BootStrap】 概述 & CSS
查看>>
如何把两个查询语句合成一条 语句
查看>>
Linux下jetty报java.lang.OutOfMemoryError: PermGen space及Jetty内存配置调优解决方案
查看>>
【编程练习】正整数分解为几个连续自然数之和
查看>>
Ajax 模糊查询的简单实现
查看>>
Spring的IOC原理[通俗解释一下]
查看>>
用jquery阻止事件起泡
查看>>
javascript编程风格(粗略笔记)
查看>>
并发编程实战(一)
查看>>
SharePoint 自定义WebPart之间的连接
查看>>
实现 laravel 的artisan
查看>>
python bool值要注意的一些地方
查看>>
ZOJ 2165 Red and Black
查看>>
在配置静态IP的时候遇到 :bringing up interface eth0 : error unknown connection
查看>>
Android版CCLabelTTF在setstring时出现黑块
查看>>