Post
#1
|
|
|
Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 |
Witam
Właśnie doszedłem do takiego etapu w tworzeniu frameworka, że bez pomocy z zewnątrz się nie obejdzie (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Napisałem klasę do obsługi danych pobieranych z zewnętrznego źródła danych (baza danych, xml, plik tekstowy, itd). Mam jednak problem - co będzie bardziej wydajne. Dla przykładu: Mam w tabeli 10 000 wierszy. By móc zastosować sortowanie lub stronicoanie na stronie muszę "przemielić" całą tabelę, co znacznie obciąża serwer. Z drugiej strony, jeśli wyciągnę wszystko z bazy i zapiszę do tablicy, wówczas będzie to zajmować mnóstwo zasobów. Ponadto sortowanie tak dużej tablicy, też zajmie sporo czasu. Jak to ugryźć? Co jest bardziej wydajne - sortowanie po stronie bazy danych, czy tablicy w php? Stronicowanie przy użyciu "limit" (MySQL, PostgreSQL) czy też wyciąganie danych z ogromnej tablicy? Ten post edytował batman 19.09.2006, 02:00:49 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%)
|
Mam w tabeli 10 000 wierszy. By móc zastosować sortowanie lub stronicoanie na stronie muszę "przemielić" całą tabelę, co znacznie obciąża serwer. Myślisz złymi kategoriami.10 000 to żadna ilość dla bazy danych. Dostaw ze dwa zera to pogadamy o duzysz tabelach. Jak to ugryźć? Co jest bardziej wydajne - sortowanie po stronie bazy danych, czy tablicy w php? Przy aplikacjach bazodanowych, nie ważne czy w php czy w innym języku jest jedna zasada. Jeśli jakies operacje są możliwe do wykonania po stronie bazy danych, to nalezy je tam wykonać.Możesz to przyjąć jako dogmat i przestać się zastanawiać. |
|
|
|
batman Co jest bardziej wydajne? 19.09.2006, 01:55:49
batman Zdaję sobie sprawę, że 10 000 wierszy to mało. Nap... 19.09.2006, 17:01:40
SongoQ @batman Co do bazy danych to index zalatwi wszystk... 19.09.2006, 17:34:10
batman Tak mam zrobioe w obecnej chwili. Chciałem tylko p... 20.09.2006, 07:45:15 ![]() ![]() |
|
Aktualny czas: 3.10.2025 - 05:33 |