激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Sql Server - 在 SQLSERVER 中快速有條件刪除海量數據

在 SQLSERVER 中快速有條件刪除海量數據

2019-11-01 14:26mssql教程網 Sql Server

最近有個朋友問我,他說他在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'

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲电影在线播放 | 日本欧美视频 | 国产a级久久 | 日韩av片网站 | 最新av网址在线观看 | 日韩在线观看高清 | 午夜看毛片 | 国产免费一区 | 欧洲精品久久久久69精品 | 国产一级大片在线观看 | 逼特逼视频在线观看 | 91成人在线免费视频 | 黄色av网站在线观看 | 99久久超碰中文字幕伊人 | 亚洲欧美在线视频免费 | 国产精品自拍99 | 97zyz成人免费视频 | 日本不卡一区二区三区在线 | 91美女视频在线观看 | 国产女厕一区二区三区在线视 | 欧美黄色片免费看 | 日日操夜夜透 | 少妇一级淫片高潮流水电影 | 看黄在线观看 | 最近免费观看高清韩国日本大全 | 亚洲啪啪 | 嫩呦国产一区二区三区av | 在线高清中文字幕 | 色玖玖综合| 嗯~啊~弄嗯~啊h高潮视频 | 嫩呦国产一区二区三区av | 久久精品中文字幕一区二区三区 | 午夜亚洲视频 | 成人性爱视频在线观看 | 一区二区久久电影 | 色人久久 | 伊人亚洲精品 | 日本成人在线免费 | 免费在线一区二区 | 久久久一二三 | 日日狠狠久久 |