![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 190 Pomógł: 1 Dołączył: 20.05.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Zastanawiam sie nad sposobem stronicowania wyników, np. dla systemu newsow czy innego rodzaju ogloszen. W zasadzie przychodza mi do glowy 2 sposoby: 1. Mam klase odpowiedzialna. mi.in. za pobieranie newsow z bazy i zwracanie w tablicy. Mozna by zaimplementowac tutaj pobieranie tylko wybranego zakresu wierszy i potem zadbac o odpowiednie wyswietlenie tego na stronach. Rozwiazanie jest bardziej skomplikowane i latwiej sie mozna "zakopac", ale za to ilosc danych wyciagana z bazy o obrabiana jest stosunkowo niewielka. 2. Mozna tez pozwolic tej klasie na pobranie wszystkich wierszy z bazy, a potem zrobic stronicowanie za pomoca gotowej klasy, np. Pear Pager, i wyswietlic tylko wiersze z aktualnej strony. Ale zastanawiam sie, czy nie bedzie to zbyt wielki narzut niepotrzebnych w danej chwili danych i zbyt duza strata na wydajnosci. Bo wiekszosc pobranych z bazy danych i tak nie zostanie wyswietlona. Zastanawia mnie, jaki sposob preferuja szanowni Forumowicze? Co sie lepiej sprawdza w praktyce? |
|
|
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
wpisz se do wyszukiwarki forum stronicowanie, a będziesz wiedzial, jak to sie robi... (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
pozatym w dziale algorytmy, klasy, funkcje masz kilka klas do stronicowania |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 415 Pomógł: 117 Dołączył: 7.09.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Cytat 2. Mozna tez pozwolic tej klasie na pobranie wszystkich wierszy z bazy, a potem zrobic stronicowanie za pomoca gotowej klasy, np. Pear Pager, i wyswietlic tylko wiersze z aktualnej strony. Ale zastanawiam sie, czy nie bedzie to zbyt wielki narzut niepotrzebnych w danej chwili danych i zbyt duza strata na wydajnosci. Bo wiekszosc pobranych z bazy danych i tak nie zostanie wyswietlona. nigdy tak nie rob... przy wiekszych bazach danych to mocno spowalnia skrypt... po to na przyklad w SQL jest LIMIT.. wszelkie operacje a w szczegolnosci na bazach danych nazley optymalizowac (przyspieszac) |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 190 Pomógł: 1 Dołączył: 20.05.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
No cos w tym rodzaju podpowiadala mi tez intuicja...
Ale w takim razie przydatnosc klas takich jak Pear Pager jest dla mnie mocno watpliwa. No chyba ze w zastosowaniach nie zwiazanych z bazami danych. Ale do czego w takim razie? Moze stronicowanie danych z XML... Nie wiem. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 415 Pomógł: 117 Dołączył: 7.09.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
z XMLem jest klopot... znam systemy (hehe, (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) moze przzesadzilem z nazwaniem tego systemem) gdzie pliki z danymi sa dzielone (np po 1000 unique wpisow) + plus config z ich indexem... wtedy mozna sie bawic z wczytywaniem calego pliku (choc to niestty i tak bardzo nieefektywne).. ewentualnie XML parser uzyc (nie wczytuje pliku w calosci tylko leci wraz z pointerem) jednak przy duzych XMLowych bazach to tez klopot... chmmm, najlepszym rozwiazaniem sa dedykowane database'y i tyle.. cheers
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 16.09.2025 - 01:04 |