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.