Cytat
@cojack:
Źle.
Tworzysz osobną tabelę dla komentarzy artykułów. Count na id komentarzy dla danego id artykułu i tak jak wyżej orderby na tego counta i limit.
Taa, jasne.
Ja CELOWO pominąłem dywagacje na temat tabeli na komentarze, bo nie o nią tu chodziło, tylko o sposób, w jaki uzyskać 10 artów najczęściej komentowanych, a rozwiązanie z dodatkowym polem w tabeli z artykułami inkrementowanym po każdym dodaniu/dekrementowanym po każdym usunięciu komentarza jest jedynym, które eliminuje konieczność używania COUNT, GROUP BY i innych f-cji. Wiadomo, że musi być tabela, aby było gdzie te komentarze przechowywać i innego sposobu sobie nie wyobrażam, jak tylko utworzyć osobną tabele w tym celu.
A jedna operacja UPDATE przy dodaniu/usunięciu komentarza jest niczym w porównaniu z każdorazowym COUNT + GROUP BY przy wchodzeniu odwiedzających na stronę zawierającą takie zestawienie 10-ciu najczęściej komentowanych.
Generalnie nie będe tu przecież przedstawiał całej struktury bazy danych, bo musiałbym też napisac o tabeli 'users'; przechowującej dane użytkowników, tabeli 'user_to_komentarz' tworzącej relację wskazującą, kto który komentarz dodał, tabeli 'logs' zapisującej kto, z jakiego IP i kiedy ten komentarz dodał, tabeli 'history_details', w której zapisywane byłyby wszystkie zmiany w komentarzach edytowanych przez adminów/modów wraz z ID komentarza, data i czasem dokonanej zmiany, treścią sprzed edycji..... mam wymieniac dalej?