Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MSSQL][PHP]Forum nieprzeczytane tematy i posty
ZuyPan
post
Post #1





Grupa: Zarejestrowani
Postów: 116
Pomógł: 4
Dołączył: 4.02.2010

Ostrzeżenie: (0%)
-----


Witam.
Od dawna męczy mnie to zagadnienie i jakoś nie potrafię z nim sobie poradzić... Jak rozwiązać problem nowych (nieprzeczytanych) postów i tematów? dla użytkowników?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
thek
post
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Dopóki działasz jedynie na danych liczbowych (a tak jest w tym wypadku) to całość jest bardzo szybka i nawet grubo ponad milion rekordów to nie są dane jakie tabeli sprawią problem. Zwłaszcza, że masz przecież indeksy. Poza tym chyba nie bierzesz pod uwagę, że masz każdemu userowi przypisany limit, po którym starsze posty są usuwane z owej tabeli. licząc, że ustawimy limit na 200 to przy normalnych forach user musiałby kilka dni nie być aktywny. A razy liczba 10k userów (wątpię czy tyle Twoje forum osiągnie) to "tylko" 2 miliony rekordów maksymalnie. Zaś operacje typu edycja postów nieprzeczytanych to nie będzie odczyt rekordu, unserialize, operacje na postach, serialize i tak bardzo często w ciągu minuty. To mniej optymalne niż kilka prostych zapytań do bazy, które na dodatek przy sprawdzeniu mogą Ci wykazać brak zmian do przeprowadzenia w następnych krokach. A serialize i unserialize musisz za każdym razem niemal wykonywać, co dość szybko przestanie być wydajne przy skakaniu między bazą a php. jeśli zaś wszystko ładnie przemyślisz, to może się okazać, że struktura tabel pozwala z całości stworzyć procedurę, dla której jedynym niezbędnym parametrem będzie id użytkownika, bo resztę operacji wykona sama. Sama sprawdzi ostatnią datę, sama porówna do czasu obecnego i sama przetworzy tabelę usuwając zbyt stare, wstawiając nowe i wyrzucając nadmiarowe. Tak więc czy lepsze będzie skakanie czy zdanie się na procedury?
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 8.10.2025 - 17:36