Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Co jest bardziej wydajne?, Duża tablica, czy "duży" sql
batman
post
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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
batman
post
Post #2





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Zdaję sobie sprawę, że 10 000 wierszy to mało. Napisałem tyle, by co poniektórzy nie zaśmiecali mi wątku pisząć. "Milion wierszy?" (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

A z sortowaniem danych to chodziło mi o to, że mam klasę Recordset, która zawiera metody do operowania danymi dostarczonymi przez klasę Connection. Klasa Recordset "nie wie", czy dane pochdzą z bazy danych, plików xml, ini, itd.

Zastanawiam się czy aplikacja taka będzie wydajna. Obecnie używam do stronicowania zapytań sql, ale wolałby raz wyciągnąć dane, a potem operować tylko na nich, bez konieczności kolejnego ich pobierania. Takie coś może się udać, jeśli aplikacja będzie napisana przy pomocy ajaxa. Jednak obawiam się, że takie rozwiązanie szybko zużyje całą dostępną pamięć.
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: 10.10.2025 - 05:58