Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 566 Pomógł: 35 Dołączył: 21.06.2006 Ostrzeżenie: (0%)
|
Witajcie!
Zastanawiam się w jaki sposób phpMyAdmin "wie", że będzie następna strona w wynikach? Staram się zrobić dobrą paginację bez uciekania się do zastąpienia pól za pomocą COUNT(`id`) - wymusza to na mnie podwójne wykonanie zapytania, raz na całości [która może mieć i 80 tys rekordów] a drugi raz już z limitem. Do tego problem stwarzają skomplikowane zapytania (których wyniki są jednak cachowane). |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 744 Pomógł: 118 Dołączył: 14.02.2009 Skąd: poziome Ostrzeżenie: (0%)
|
To sie robi troche inaczej.
Zalozenie ze na stronie wyswietlasz 20 wynikow. Chcesz zrobic tak ze w paginacji jest 1 - 2 - (3)- 4 > Zalozmy ze jestes na 3 stronie, pobierasz wtedy zapytaniem z limitem 3*20, 21 wierszy (nie 20 tylko 21 poniewasz jak dostaniesz mniej niz 21 to znaczy ze nie ma nastepnej strony), a jak dostaniesz 21 to wiesz ze jest nastepna strona. |
|
|
|
kiler129 Przewidzenie paginacji bez odpalania całego zapytania 4.07.2012, 04:59:31
!*! CytatStaram się zrobić dobrą paginację bez uciekan... 4.07.2012, 12:20:10
d3ut3r jest jeszcze:
SQL_CALC_FOUND_ROWS
jednak nie zaw... 4.07.2012, 12:43:54
mmmmmmm Jeśli robisz prostą przeglądarkę tabel (bez połącz... 4.07.2012, 13:05:21
Adi32 Lekka przesada.
Ja jestem za tradycyjnym count(id)... 5.07.2012, 14:12:22
hind z tego co mi wiadomo to count nie zlicza wartości ... 5.07.2012, 14:49:57
rzymek01 zróbcie sobie testy wydajności zapytania count(id)... 5.07.2012, 14:55:05
Adi32 Cytat(hind @ 5.07.2012, 15:49:57 ) z ... 5.07.2012, 15:06:16 
mmmmmmm Cytat(Adi32 @ 5.07.2012, 16:06:16 ) P... 5.07.2012, 15:10:33
!*! CytatPrzy LEFT/RIGHT JOINie może być
Hm podaj jaki... 5.07.2012, 15:18:29
Adi32 Jemu chyba chodziło o to, że jeżeli w zapytaniu w ... 5.07.2012, 15:24:40 ![]() ![]() |
|
Aktualny czas: 20.12.2025 - 17:50 |