![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 43 Pomógł: 0 Dołączył: 18.12.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam wszystkich,
Potrzebuję porady kogoś kto siedzi w SQL i ma pomysł jak rozwiązać mój problem.... Mam w pracy bazę danych która ma 2mln rekordów!! bazę wgrywałem kilka dni partiami z różnych źródeł i muszę przeprowadzić deduplikację przed oddaniem jej do szefa. Baza składa się z około 35 kolumn i mogą zdarzyć się przypadki że rekordy mają taką samą nazwę, adres, nip, itd. różnią się tylko np. telefonem albo mailem. Jedynym co na pewno ich różni to numer id w bazie... jedynym (moim)zdaniem sposobem jest usunięcie rekordów które są identyczne w całości wykluczając pole ID czy zna ktoś przepis na takie zapytanie?? coś w stylu -- usuń rekord jeżeli rekord minus [pole id] istnieje w bazie. ps. wykonanie kopii bazy i porównanie odpada bo zajęło by to co najmniej 2 dni! |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 890 Pomógł: 339 Dołączył: 14.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
To teraz gdzie jest haczyk? (IMG:style_emoticons/default/smile.gif) Próbowałem dla testu założyć taki indeks na swojej tabelce i wyrzuciło błąd zduplikowanych danych. Rozumiem, że nie jest warunkiem ilość kolumn większa niż 1. Jeśli ma to jakieś znaczenie, to typ tabelki to InnoDB
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.10.2025 - 18:46 |