新聞中心
在我們使用DB2數(shù)據(jù)庫的過程中,有時需要將DB2表快速清空,下面就教您幾種DB2表快速清空的方法,希望對您學習DB2表快速清空方面有所啟迪。

創(chuàng)新互聯(lián)網(wǎng)絡公司擁有10余年的成都網(wǎng)站開發(fā)建設經(jīng)驗,千余家客戶的共同信賴。提供成都網(wǎng)站設計、網(wǎng)站建設、網(wǎng)站開發(fā)、網(wǎng)站定制、外鏈、建網(wǎng)站、網(wǎng)站搭建、響應式網(wǎng)站建設、網(wǎng)頁設計師打造企業(yè)風格,提供周到的售前咨詢和貼心的售后服務
在DB2數(shù)據(jù)庫中,如果想快速清空一張大表(類似在 ORACLE 中使用 TRUNCATE TABLE 快速清空一張大表),有兩種方法:
1. 使用 “ ALTER TABLE 表名 ACTIVATE NOT LOGGED INITIALLY WITH EMPTY TABLE ” 命令。
2. 使用空文件為數(shù)據(jù)文件導入并替換表中數(shù)據(jù)。
* 在 windows 平臺,可以先使用 EXPORT 導出一個空文件,再使用 IMPORT 命令從空文件中導入并替換該表中數(shù)據(jù),比如:
export to test.ixf of ixf messages log.txt select * from test where 1=2
import from test.ixf of ixf messages log1.txt replace into test
* 在 UNIX 平臺,除了使用 A 方法以外,還可以使用從空(NULL)中導入并替換該表數(shù)據(jù),比如:
import from /home/null of del replace into test
如果使用“ DELETE TABLE ”命令刪除整個大表中的數(shù)據(jù),由于這個命令采用逐條刪除,并把該操作記入活動的交易日志,將會耗費大量的活動日志空間,有可能造成數(shù)據(jù)庫交易日志已滿錯誤,另外,這樣刪除大表數(shù)據(jù)耗費的時間也很長。對于屬于 DMS 表空間的表來說,刪除命令逐條掃描記錄,所占的記錄空間仍標記為該表所用,而不立即釋放空間,需要用 REORG 命令才可以釋放剩余空間。
使用以上兩種DB2表快速清空方法進行快速清空一張大表,將使 DB2 交易日志只記錄該條命令,并立即釋放所占用的空間,而不會像刪除命令一樣逐條掃描記錄,從而節(jié)省大量的數(shù)據(jù)庫交易日志和處理時間。用 LOAD 命令加 REPLACE 參數(shù)可以達到類似 IMPORT 命令加 REPLACE 的效果,但是由于 LOAD 本身不記日志,所以對于可恢復的數(shù)據(jù)庫,LOAD 完成后建議馬上做一下聯(lián)機備份的,相比之下,IMPORT 命令加 REPLACE 操作上比較簡單一些。
新聞名稱:大數(shù)據(jù)DB2表快速清空方法
轉(zhuǎn)載來源:http://www.5511xx.com/article/copsdjg.html


咨詢
建站咨詢
