濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > 如何在 SQL SERVER 中快速有條件刪除海量數(shù)據(jù)

如何在 SQL SERVER 中快速有條件刪除海量數(shù)據(jù)

熱門(mén)標(biāo)簽:沈陽(yáng)外呼系統(tǒng)有效果嗎 AI智能云呼電話(huà)機(jī)器人怎么注冊(cè) 四川穩(wěn)定外呼系統(tǒng)公司 福州外呼系統(tǒng)招商 百度地圖標(biāo)注信息怎么修改 怎么在高德地圖標(biāo)注多個(gè)點(diǎn) 電話(huà)機(jī)器人接口是什么樣的 溫州語(yǔ)音外呼系統(tǒng)排名 商家地圖標(biāo)注圖片
最近有個(gè)朋友問(wèn)我,他說(shuō)他在SQLSERVER刪除幾百萬(wàn)到幾千萬(wàn)數(shù)據(jù)是顯的很慢,幫他分析了一下,提了一些以下意見(jiàn),或許對(duì)很多人有用。

    如果你的硬盤(pán)空間小,并且不想設(shè)置數(shù)據(jù)庫(kù)的日志為最小(因?yàn)橄M渌5娜罩鞠M匀挥涗?,而且對(duì)速度要求比較高,并清除所有的數(shù)據(jù)建議你用turncate table1,因?yàn)閠runcate 是DDL操作,不產(chǎn)生rollback,不寫(xiě)日志速度快一些,然后如果有自增的話(huà),恢復(fù)到1開(kāi)始,而delete會(huì)產(chǎn)生rollback,如果刪除大數(shù)據(jù)量的表速度會(huì)很慢,同時(shí)會(huì)占用很多的rollback segments,同時(shí)還要記錄下G級(jí)別的日志 ;當(dāng)然如果有條件刪除比如where time〈'2006-3-10' 怎么辦,能不能不記錄日志用delete,回答是不行的,SQL Server 引擎在設(shè)計(jì)上就會(huì)對(duì) Delete 操作進(jìn)行日志記錄。至今沒(méi)有辦法強(qiáng)制制定某一些語(yǔ)句不記錄到日志中,如果在執(zhí)行 Delete Table1 where Time 〈 '2006-3-10' 由于涉及的記錄比較多,所以日志記錄也相應(yīng)很大(3-4G),如果可行,我建議用以下方式:

    選出您所需要保留的記錄到新的表。如果您使用 Full Recovery Mode
根據(jù)SELECT INTO的記錄數(shù),日志可能會(huì)比較大
Select * into Table2 From Table1 Where Time 〉 = '2006-03-10'

    然后直接Truncate Table1。無(wú)論何種恢復(fù)模式都不會(huì)進(jìn)行日志記錄:Truncate table Table1

    最后對(duì)Table2進(jìn)行改名為T(mén)able1:EC sp_rename 'Table2', 'Table1' 

標(biāo)簽:營(yíng)口 來(lái)賓 七臺(tái)河 汕尾 邯鄲 無(wú)錫 西寧 寶雞

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《如何在 SQL SERVER 中快速有條件刪除海量數(shù)據(jù)》,本文關(guān)鍵詞  如,何在,SQL,SERVER,中,快速,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《如何在 SQL SERVER 中快速有條件刪除海量數(shù)據(jù)》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于如何在 SQL SERVER 中快速有條件刪除海量數(shù)據(jù)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    楚雄市| 新民市| 罗定市| 罗甸县| 贺州市| 辉县市| 北辰区| 略阳县| 东乡县| 山西省| 邵阳县| 泗洪县| 大新县| 武冈市| 滨海县| 乐昌市| 天水市| 磴口县| 荆州市| 元朗区| 特克斯县| 枣强县| 和顺县| 沙河市| 蛟河市| 金沙县| 石门县| 蒙阴县| 会昌县| 乌苏市| 屯昌县| 固始县| 永新县| 禄劝| 宁都县| 柞水县| 信丰县| 大足县| 双牌县| 新化县| 丰城市|