Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] Dodanie nowej kolumny w tabeli czy stworzenie zapytania SELECT?
Forum PHP.pl > Forum > Przedszkole
kondzik
Witam,

Tworzę proste forum, które posiada: kategorie, podkategorie, tematy i posty. Chcę stworzyć liczniki (ile podkategoria ma tematów, ile postów itp). Moje pytanie brzmi czy lepiej jest dodawać kolejne kolumny w tabelach w których będę wykonywał aktualizację w czasie dodawania tematu, postu... a potem będę tylko wyświetlał tą kolumnę czy też lepiej jest stworzyć SELEKTa który będzie mi to zliczał wszystko w czasie wyświetlania podkategorii, tematów itd ?

Proszę o odpowiedzi z uzasadnieniem tongue.gif

Pozdrawiam.
Forti
http://forum.php.pl/index.php?showtopic=236302&hl=

o, kolega mnie uprzędził wink.gif
kondzik
Czyli jeżeli moje forum będzie miało dużą liczbę podkategorii, tematów i postów, to rozumiem, że mogę dodać kolumnę która będzie mi to zliczać bez używania COUNT?
Forti
Cytat(kondzik @ 1.11.2014, 14:59:59 ) *
Czyli jeżeli moje forum będzie miało dużą liczbę podkategorii, tematów i postów, to rozumiem, że mogę dodać kolumnę która będzie mi to zliczać bez używania COUNT?


Dokładnie. Jednak należy pamiętać, że "dużo" to pojęcie względne. Dla jednego będzie to już 400-500, a dla innego kilkadziesiąt tysięcy.

Rozwinę myśl:

Zliczanie count jest wygodniejsze w użyciu. Mniejsze ryzyko błędów gdy usuniesz, dodasz coś ręcznie w poziomu phpmyadmin czy po prostu buggów. Swoją drogą muszę przeprowadzić testy czy te różnice faktycznie są takie "spore".

Przykład z jednego z największych for na świecie:
Cytat
Our members have made a total of 481,787,392 posts
We have 831,501 registered members
kondzik
Na start będzie około 100 podkategorii ale tematów znacznie więcej, i wiadomo to jest forum i będzie w dość szybkim tempie wszystko przybywać wink.gif

Dzięki za odpowiedzi smile.gif
borabora
Jeżeli te wartości nie są, aż tak istotne i akceptowalna byłaby aktualizacja co jakiś czas to może:
1. cron + count + cache
2. cron + count + nowa kolumna w tabeli kategorii, która będzie aktualizowana
ilidir
Cron jest fajny ale z tego co się orientuje to można go ustawić najczęściej co minutę. Jeżeli ma sięto wykonywać raz czy2 razy dziennie to się zgadzam że cron tutaj pieknie to ogarnie. Jak ma to być robione często to możnaby zaszyć kod przy uruchamianiu strony - jednakże może być problem jeżeli nagle wejdzie 10 osób w tejsamej chwili to skrypt wykona się 10 razy a to raczej bez sensu smile.gif Przechodząc do podsumowania przychylam się do CRON-a smile.gif
Forti
Cytat(ilidir @ 1.11.2014, 17:41:46 ) *
Cron jest fajny ale z tego co się orientuje to można go ustawić najczęściej co minutę. Jeżeli ma sięto wykonywać raz czy2 razy dziennie to się zgadzam że cron tutaj pieknie to ogarnie. Jak ma to być robione często to możnaby zaszyć kod przy uruchamianiu strony - jednakże może być problem jeżeli nagle wejdzie 10 osób w tejsamej chwili to skrypt wykona się 10 razy a to raczej bez sensu smile.gif Przechodząc do podsumowania przychylam się do CRON-a smile.gif


Co prawda cron nie znam i być może palne coś bezsensu wink.gif

znam fora, gdzie tworzysz temat, a ten pojawia się po ~~ 1 minucie. Odświeżanie, czyszczenie własnego cache itp. nic nie daje - po prostu taki cache na ów forum.

Przykładowo na tym tutaj forum bardzo często licznik wizyt nie odświeża się. Tylu ilu programistów tyle rozwiązać i implementacji.
b4rt3kk
Po mojemu dobrym sposobem byłoby stworzenie tabelki stats, gdze byś trzymał takie newralgiczne dane jak liczba postów, userów, itd. itp. pod warunkiem że statystyki te byłyby wyświetlane na każdej podstronie. O wiele częściej userzy wyświetlają stronę niż coś piszą, itd. Tak więc lepiej wykonać 1 update przy dodawaniu posta niż count za każdym wyświetleniem strony.
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.