Tôi có một bảng lớn với 19 000 000 bản ghi và tôi gặp sự cố với các hàng trùng lặp. Có rất nhiều câu hỏi tương tự ngay cả ở đây trong SO, nhưng không ai trong số họ dường như cho tôi một câu trả lời thỏa đáng. Một số điểm cần xem xét:Xóa các bản sao từ một bảng lớn
- Tính duy nhất của hàng được xác định bởi hai cột,
location_id
vàdatetime
. - Tôi muốn giữ thời gian thực hiện càng nhanh càng tốt (< 1 giờ).
- Sao chép các bảng không phải là rất khả thi vì bảng có kích thước vài gigabyte.
- Không cần phải lo lắng về mối quan hệ.
Như đã nói, mọi location_id
chỉ có thể có một riêng biệt datetime
và tôi muốn xóa tất cả các phiên bản trùng lặp. Nó không quan trọng mà một trong số họ sống sót, vì dữ liệu giống hệt nhau.
Bất kỳ ý tưởng nào?
Cân nhắc xóa chỉ mục tạm thời, trình kích hoạt nếu tồn tại. – Pentium10
Điều gì đã xảy ra với phương pháp được đưa ra trong http://stackoverflow.com/questions/1585412/sql-to-delete-duplicate-records-in-a-table? – Mike
@ Pentium10, điểm tốt, có thể tăng tốc mọi thứ, nhưng cũng có thể giết hiệu suất nếu tôi đi qua với giải pháp truy vấn phụ. –