我有一個相當大的表,其中有19 000 000條記錄,並且存在重複行的問題。即使在這裏,還有很多類似的問題,但他們中沒有一個似乎給我一個滿意的答案。需要考慮的幾點:刪除大型表中的重複項
- 行唯一性由兩列
location_id
和datetime
確定。 - 我想盡可能快地執行執行時間(< 1小時)。
- 複製表格不是很可行,因爲表格大小爲幾個千兆字節。
- 無需擔心關係。
如前所述,每個location_id
只能有一個不同的datetime
,我想刪除所有重複的實例。由於數據是相同的,它們中的哪一個存活並不重要。
任何想法?
考慮暫時刪除索引,如果存在觸發器。 – Pentium10 2010-03-05 10:17:34
在http://stackoverflow.com/questions/1585412/sql-to-delete-duplicate-records-in-a-table中給出的方法有什麼問題? – Mike 2010-03-05 10:17:39
@ Pentium10,好點,可以加快速度,但如果我使用子查詢解決方案,也可能會導致性能下降。 – 2010-03-05 10:25:15