Duplikowane wartości w bazie danych może być problemem podczas wykonywania bardzo dokładnych operacji. Mogą prowadzić do przetwarzania pojedynczej wartości wielokrotnie, co oznacza, że wynik. Duplikat zapisów zajmuje również więcej miejsca niż to konieczne, co prowadzi do powolnej wydajności.
W tym przewodniku zrozumiesz, w jaki sposób możesz znaleźć i usunąć zduplikowane wiersze w bazie danych SQL Server.
Podstawy
Zanim przejdziemy dalej, jaki jest zduplikowany rząd? Możemy sklasyfikować wiersz jako duplikat, jeśli zawiera podobną nazwę i wartość do innego wiersza na tabeli.
Aby zilustrować, jak znaleźć i usunąć zduplikowane wiersze w bazie danych, zacznijmy od utworzenia przykładowych danych, jak pokazano na poniższych zapytaniach:
Użyj DuplicationB;W powyższym zapytaniu tworzymy tabelę zawierającą informacje o użytkowniku. W następnym bloku klauzuli używamy wstawki do instrukcji, aby dodać zduplikowane wartości do tabeli użytkowników.
Znajdź zduplikowane wiersze
Gdy potrzebujemy przykładowych danych, sprawdźmy duplikat wartości w tabeli użytkowników. Możemy to zrobić za pomocą funkcji liczby jako:
Wybierz nazwę użytkownika, e -mail, telefon, stany, liczba (*) jako wartość hrabia od grupy użytkowników według nazwy użytkownika, e -maila, telefonu, stanów mających liczbę (*)> 1;Powyższy fragment kodu powinien zwrócić zduplikowane wiersze w bazie danych i ile razy pojawiają się na tabeli.
Przykładem jest to, jak pokazano:
Następnie usuwamy zduplikowane wiersze.
Usuń zduplikowane wiersze
Następnym krokiem jest usunięcie zduplikowanych wierszy. Możemy to zrobić za pomocą zapytania Usuń, jak pokazano na przykładowym fragmencie:
Usuń od użytkowników, w których identyfikator nie jest w (wybierz maks. (ID) z grupy użytkowników według nazwy użytkownika, e -maila, telefonu, stanów);
Zapytanie powinno wpływać na zduplikowane wiersze i zachować unikalne rzędy w tabeli.
Możemy wyświetlić tabelę jako:
Wybierz * od użytkowników;Powstała wartość jest jak pokazana:
Usuń zduplikowane wiersze (dołącz)
Możesz także użyć instrukcji łączenia, aby usunąć zduplikowane wiersze z tabeli. Przykładowy przykładowy kod zapytania jest jak pokazano poniżej:
Usuń od użytkowników dołączenie wewnętrzneNależy pamiętać, że użycie wewnętrznego połączenia do usuwania duplikatów może potrwać dłużej niż inne w obszernej bazie danych.
Usuń duplikat wierszy (row_number ())
Funkcja Row_Number () przypisuje numer sekwencyjny do wierszy w tabeli. Możemy użyć tej funkcji do usunięcia duplikatów z tabeli.
Rozważ przykładowe zapytanie poniżej:
Użyj DuplicativeBPowyższe zapytanie powinno używać wartości zwróconych z funkcji Row_Number (), aby usunąć duplikaty. Duplikat wierszy wytworzy wartość wyższą niż 1 z funkcji row_number ().
Wniosek
Utrzymanie w czystości bazy danych poprzez usunięcie zduplikowanych wierszy z tabel jest dobre. Pomaga to poprawić wydajność i przestrzeń do przechowywania. Korzystając z metod w tym samouczku, bezpiecznie wyczyścisz bazy danych.