快速清空表資料

2021-08-24 22:22:49 字數 850 閱讀 8321

15.2.10 快速清空表資料

對於使用db2資料庫的使用者而言,有時候需要將表中資料清空。這裡提供了4種資料刪除的方法,以供使用者根據自己的需求進行選擇:

使用delete語句,即: delete from 《表名》 該語句將清除表中所有資料,但由於這一操作會記日誌,因此執行速度會相對慢一些。另外要注意的是,如果表較大,那麼為保證刪除操作的成功,應考慮是否留有足夠大的日誌空間。

使用not logged initially選項,即:

alter table 《表名》 activate not logged initially with empty table 這一方法僅在所操作的表在建立時選擇了not logged initially選項進行定義後才可使用。整個刪除操作將不會記日誌,因此執行速度是這4種方法中最快的一種,但刪除的資料是不可恢復的。

使用load命令,即:

load from /dev/null of del replace into 《表名》 nonrecoverable --(unix 系統 或load from 《空檔案》 of del replace into 《表名》 nonrecoverable

在這一方法中,replace匯入方式首先會將表中所有資料清空,然後import/load又向表中匯入了空資料,從而實現了資料的清除操作。

使用drop/create table語句,即:

drop table 《表名》 create table 《表名》 《欄位的定義》 如果儲存有表的定義語句,或已利用db2look命令獲得了表定義的指令碼,那麼也可先刪除整個表,再重新建立表。如果表較大,那麼用這種方法實現資料清空的速度會快於使用delete語句。但是用這種方法時要注意:如果這個表上有很多外來鍵,那麼需要維護外來鍵的完整性。

sql語句快速清空表

對於sql清空表有三種清空方式 1.delete 是逐行刪除速度極慢,不適合大量資料刪除 2.truncate 刪除所有資料,保留表結構,不能撤消還原 3.drop 刪除表,資料和表結構一起刪除,快速 但是在實踐過程中我發現,1,2這兩種方法在處理大量資料的時候都比較慢,往往要等待許久才能清空完成。...

清空mysql表資料

delete from 表名 truncate table 表名 不帶where引數的delete語句可以刪除mysql表中所有內容,使用truncate table也可以清空mysql表中所有內容。效率上truncate比delete快,但truncate刪除後不記錄mysql日誌,不可以恢復資料...

批量清空表資料

1 如果有建表語句,或者匯出現有表結構,重新匯入 包含drop語句 會實現清空表資料的目的 實際刪除原表新建表 2 通過sql查詢需要刪除表的sql語句,如刪除某個schema下的某一類表 msyql select concat truncate table table name from info...