刪除重複資料的一種高效的方法
方法一:delete from demo a where a.rowid <> (select max(rowid) from demo b where
b.object_id=a.object_id);
耗時:幾個小時以上
方法二: delete from demo where rowid in
(select rid from
(select rowid rid,row_number() over(partition by object_id order by rowid) rn
from demo)
where rn <> 1 );
耗時:30秒
方法三: create table demo2 as
select object_id,owner... from
(select demo.*,row_number() over(partition by object_id order by rowid) rn from demo)
where rn = 1;
truncate table demo; insert into demo select * from demo2; drop table demo2;
共耗時: 10秒,適合大資料量的情況,產生更少回滾量;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/750220/viewspace-888325/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 刪除重複資料
- 【常用方法推薦】如何刪除MySQL的重複資料?MySql
- mongodb刪除重複資料MongoDB
- mysql 刪除表中重複的資料MySql
- excel刪除重複資料保留一條 如何刪掉重複資料只留一條Excel
- sqlserver中刪除重複資料SQLServer
- Oracle中刪除表中的重複資料Oracle
- oracle刪除重資料方法Oracle
- 解析postgresql 刪除重複資料案例SQL
- PostgreSQL刪除表中重複資料SQL
- MySQL資料庫中刪除重複記錄的方法總結[推薦]MySql資料庫
- VSCode刪除重複的空行VSCode
- MS SQL Server 刪除重複行資料SQLServer
- ORACLE批量刪除無主鍵重複資料Oracle
- MySQL防止delete命令刪除資料的兩種方法MySqldelete
- 刪除重複id的記錄
- 事件溯源投影模式:重複資料刪除策略 - domaincentric事件模式AI
- 使用Java Stream API中DistinctBy刪除重複資料JavaAPI
- mysql 刪除重複項MySql
- 刪除oracle重複值Oracle
- JavaScript 刪除重複字元JavaScript字元
- 刪除排序陣列中的重複項排序陣列
- JavaScript 刪除字串重複字元JavaScript字串字元
- 每日一題 [26] 刪除排序陣列中的重複項每日一題排序陣列
- ORACLE 在缺少主鍵ID的情況下刪除重複資料,只保留一行Oracle
- 重構 001 - 刪除Java的Setter方法Java
- C# 批次刪除Excel中的重複行C#Excel
- ES6刪除字串中重複的元素字串
- 刪除有序陣列中的重複項 II陣列
- 刪除字串中的所有相鄰重複項字串
- sql刪除重複記錄只保留一條SQL
- 資料夾刪除不了怎麼辦?資料夾刪除不了的解決方法
- 幾種刪除Linux目錄的方法Linux
- JavaScript陣列刪除重複元素JavaScript陣列
- JavaScript 刪除陣列重複元素JavaScript陣列
- Remove Duplicate Letters 刪除重複元素REM
- JavaScript刪除字串中重複字元JavaScript字串字元
- whk我【資料刪除】你個【資料刪除】的
- c#刪除有序陣列中的重複項C#陣列