Który projekt DB jest szybszy: unikalny indeks i INSERT IGNORE, lub użycie SELECT do znalezienia istniejących rekordów?
Mam tabelę z tylko jedną kolumną: userid.
Gdy użytkownik uzyskuje dostęp do określonej strony, jego identyfikator użytkownika jest wstawiany do tabeli. Identyfikatory użytkowników są unikalne, więc nie powinno być dwóch takich samych identyfikatorów użytkowników w tej tabeli.
Rozważam dwa projekty:
Uczynić kolumnę wyjątkową i używaćINSERT
polecenia za każdym razem, gdy użytkownik uzyskuje dostęp do tej strony.Sprawdzanie, czy użytkownik jest już zapisany w tabeli przezSELECT
z tabeliINSERT
jeśli nie znaleziono żadnego rekordu.Który jest szybszy?