Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] policzenie ilosci rekordow?
AndyPSV
post
Post #1





Grupa: Zarejestrowani
Postów: 393
Pomógł: 5
Dołączył: 6.02.2003
Skąd: The.Luciferian.Doctrine.p
df

Ostrzeżenie: (30%)
XX---


tak se myslalem

chodzi o to, ze mam tabele, niech bedzie REKORDY
w tabeli tej, mam dane o kategoriach

ID T C0 C1
1 moj_tytul 1/10 2/20

teraz, chce wyciagnac wszystkie rekordy, ktore maja T LIKE "%zmienna%"

jak teraz w tym momencie policzyc wszystkie rekordy; musze pobrac kazdy rekord, zsumowac ich ilosc, a nastepnie pobrac nazwe KATEGORII z oddzielnej tabeli czy jak to zrobic?

jak to jest zrobione na allegro albo ebayu?
nie wywali sie baza jak bedzie np. 1 mln rekordow?
jak to rozwiazac?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Zyx
post
Post #2





Grupa: Zarejestrowani
Postów: 952
Pomógł: 154
Dołączył: 20.01.2007
Skąd: /dev/oracle

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


Ale chodzi Ci o liczbę wierszy w całej bazie spełniającej ten warunek czy liczbę zwróconych w zbiorze wyników? Jeśli używasz stronicowania, a zakładam, że używasz, te wartości mogą być różne. Do zbioru wyników funkcję masz wyżej, do liczenia ogólnego musisz wysłać dodatkowe zapytanie korzystające z SQL-owej funkcji COUNT(). Jednak, jak słusznie zauważyłeś, liczenie w locie wszystkiego może być dość czasochłonne przy dużej bazie, dlatego często stosuje się optymalizacje polegające np. na zapisywaniu liczników bezpośrednio w polach wierszy. Niestety, jeśli chcesz korzystać z LIKE, wtedy takiego licznika nie wygenerujesz, bo musiałbyś trzymać jego wartości dla wszystkich możliwych ciągów, co nie wchodzi w grę (IMG:style_emoticons/default/smile.gif) . Dlatego jedyna sensowna opcja dla Ciebie to skorzystanie z COUNT().

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: 7.10.2025 - 11:00