專案中有個需求需要每個月末定時去刪除一張表裡的歷史資料,
剛開始就寫了乙個簡單的delete語句,然後起乙個job定時去呼叫,
後來被告知歷史資料量很大,所以從效能和安全上考慮對sql進行了如下修改:
declare cursor id_key_cursor is
select id_key
from x_table
where x_column = "***"
begin
for v_to_del in id_key_cursor loop
delete x_table
where id_key = v_to_del.id_key
if mod(id_key_cursor%rowcount, 5000) = 0
then commit;
end if;
end loop;
commit;
end;上面將處理的資料每5000筆提交一次,分批處理;
id_key可以是x_table的主鍵,也可以是row_id;
Jenkins 批量刪除歷史構建
在一次巡查jenkins時,發現很多個專案的歷史構建比較多,這些歷史構建對於現在來說又沒有什麼用處,那麼想把它刪除,但是乙個乙個刪除很累,畢竟總共加起來有上千個,歷史構建,而且還不只是乙個專案。那麼我們可以批量刪除嗎?答案是可以的。專案管理 指令碼命令列 放入下面的指令碼 def jobname u...
刪除oracle表裡的重覆記錄
查詢表裡的重覆記錄 select count from table name where rowid in select a.rowid from table name a,table name b where a.rowid b.rowid and a.col1 b.col1 and a.col2...
oracle批量刪除
專案中有個需求需要每個月末定時去刪除一張表裡的歷史資料,剛開始就寫了乙個簡單的delete語句,然後起乙個job定時去呼叫,後來被告知歷史資料量很大,所以從效能和安全上考慮對sql進行了如下修改 declare cursor id key cursor is select id key from x...