![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 17.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam wszystkich.
Od jakiegoś czasu zastanawiam się nad sposobem zliczania różnych rekordów i ciekawy jestem jakie rozwiązania stosujecie. Przykładowo mamy tabele "jakiś" produktów, w tabelce są informacje np 3 kolumny (id, nazwa_produktu, user) i wchodząc na odpowiednią stronę użytkownik widzi "ilość swoich produktów" (np 300). Czy aby stworzyć taki licznik używacie zapytań SQL polegających na "zliczaniu rekordów" np. SELECT COUNT(*) FROM tabela WHERE user='ktoś tam'..... albo inne zapytania (tu prosił bym o wskazanie najbardziej wydajnego). ...Czy, może zamiast tego stosujecie osobną tabele o nazwie np "liczniki" i tam w odpowiedniej kolumnie za każdym razem zwiększana lub zmniejszana zostaje wartość (+1 lub -1) gdy użytkownik dodaje lub odejmuje "jakiś" produkt. Przy takim układzie nie było by już później potrzeby "zliczania" rekordów tylko wystarczyło, by wyświetlić wartość odpowiedniej komórki. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat ...Czy, może zamiast tego stosujecie osobną tabele o nazwie np "liczniki" i tam w odpowiedniej kolumnie za każdym razem zwiększana lub zmniejszana zostaje wartość (+1 lub -1) gdy użytkownik dodaje lub odejmuje "jakiś" produkt. Przy takim układzie nie było by już później potrzeby "zliczania" rekordów tylko wystarczyło, by wyświetlić wartość odpowiedniej komórki. Ja wrzucam po prostu osobną kolumnę jeśli są zależności, np. jest tabela newsy i ważna jest liczba komentarzy. No to tę liczbę zapisuję na sztywno. :] Cytat a mysql_num_rows() ? A na co? Można przecież utworzyć triggera albo drugim zapytaniem zwiększać tę kolumnę, o której wspomniałem. Jeśli już liczyć, ile wyjdzie po stronie klienta - jest taka fajna funkcja FOUND_ROWS(); pod MSSQL też jest coś podobnego. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 2.10.2025 - 18:50 |