Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Rejestracja i aktywacja użytkowników, a wydajność
Forum PHP.pl > Forum > Bazy danych > MySQL
awakening
Witam,

Otóż projektuję pewną aplikację sieciową w której umożliwiam użytkownikowi rejestrację. Po rejestracji konto trzeba aktywować itp. z technicznego punktu widzenia nie mam z tym najmniejszego problemu jednak dręczy mnie kwestia wydajności bazy danych. Zastanawiam się nad dwoma rozwiązaniami:

rozwiązanie 1. Po rejestracji zapisuję dane użytkownika do tabeli tymczasowej gdzie czekają na aktywację linkiem z emaila, przy aktywacji dane są przenoszone do tabeli właściwej a te z tymczasowej kasowane, dodatkowo co 24h tabela tymczasowa jest opróżniana.

rozwiązanie 2. Wszystkie dane (aktywne i nieaktywne) przechowywane są w jednej tabeli, podczas aktywacji wyszukiwany jest rekord i następnie aktywowany, co 24h cronem przeszukiwana jest cała tabela i czyszczona z nieaktywnych rekordów.

rozwiązanie pierwsze wydaje mi się najlepsze, jedna moje wątpliwości budzi to, że podczas aktywacji trzeba wykonać dwa dosyć duże zapytania do bazy, rozwiązanie nr 2 wymaga tylko zmiany wartości jednego pola, jednak jeżeli baza będzie duża może być kłopot z wydajnością podczas wykonywania zapytania i przeszukiwania jej co 24h.

Dręczy mnie to od kilku dni, pomoże ktoś?

dzięki.
erix
Drugie rozwiązanie jest powszechnie stosowane.

Cytat
jednak jeżeli baza będzie duża może być kłopot z wydajnością podczas wykonywania zapytania i przeszukiwania jej co 24h.

Jeśli masz dobrze indeksy pozakładane, to nie ma problemu.
batman
1. Każda zmiana tabeli "głównej" będzie wymuszała modyfikację tabeli tymczasowej.
2. Zakładasz index na kolumnę, po której będziesz wyszukiwał i wydajność Ci nie padnie.
awakening
to co piszecie wydaje się mieć sens smile.gif a co przemawia na niekorzyść rozwiązania pierwszego?
Crozin
Cytat
a co przemawia na niekorzyść rozwiązania pierwszego?
Nie da żadnych sensownych korzyści, a jest bardziej czaso/zasobożerne
batman
Cytat(batman @ 9.06.2009, 21:30:57 ) *
1. Każda zmiana tabeli "głównej" będzie wymuszała modyfikację tabeli tymczasowej.
W zasadzie jest to największa wada, która na pewno da o sobie znać w najmniej oczekiwanym momencie.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.