對此使用Sybase ASE 15 - 我有大量的行(最多10 mil)從表中定期刪除,但我想保留一個選擇將最新添加的數據添加到表中,以便在表格中直接截斷使用截斷。從Sybase表中有選擇地刪除大量數據
delete from master_table where...
使用上述刪除是很慢的,所以我的策略是將我要保持到一個臨時表中的數據,截斷主表和臨時表中的數據再次遷回即
1) select * into #temp_table from master_table where date_updated > dateadd(mi, -15, getdate()) and node_type != 'X'
2) truncate table master_table
3) insert into master_table select * from #temp_table
這幾乎是不夠好的 - 1 & 2有很好的表現,但插回到主人太慢了。
所以我的問題真的可以歸結爲是否有這樣做的任何的快捷方式:
delete from master_table where...
insert into xyz select * from...
或者我打開替代辦法!