 |
 |
dzia³y |
 |
|
|
 |
forum |
 |
|
|
 |
archiwum |
 |
|
|
 |
redakcja |
 |
|
Je¶li masz ciekawe informacje odno¶nie PHP, skrypty, porady, linki itp. lub chcia³by¶ wspó³tworzyæ serwis PHP.zone.pl
daj nam znaæ na email !
|
Powered by:
PHP
Apache
MySql
Linux
|
|
|
Porcjowanie wyników zapytania |
 |
( 09. Listopad 2000) |
( peewee )
W zwi±zku z czêsto pojawiaj±cymi siê na forum pytaniami o porcjowanie wyników
zapytania postanowi³em napisaæ krótki tek¶cik, który powinien wszystko wyja¶niæ
i rozwiaæ wszelkie w±tpliwo¶ci.
|
KOMENTARZE: |
 |
|
Opracowania takie jak to sa bardzo przydatne. Latwe w zrozumieniu dla poczatkujacych. To o nich powinno sie dbac na kazdej stronie budujacej sobie silne zaplecze.
|
 |
|
Dzieki za uznanie :) Postaram sie napisac jeszcze cos ciekawego... Najlepiej by bylo gdyby ktos mi podeslal jakis pomysl na artykul, np cos co go ostatnio meczy.
|
 |
|
A czy jest cos takiego dla PostgreSQL-a?
|
 |
|
Autor zawsze z napieciem zaglada w komentarze do swojego artyku³u :) dlatego dodam swój te¿ :).
Powy¿szy problem rozwi±za³em w ca³kiem inny sposób
if (result) #najdoskonalszy wg mnie sposob wydobywani
a danych z rezultatu zapytania
{
for($i=0;$i=$min&&$i<$min+$skok)
{
//tu wyswietlamy wyniki z bazy
}
/*skok to wartosc po ile wynikow mamy przekazywac a min to wartosc minimalna zaczynamy oczywiscie od 0 a potem za kazdym razem dodajemy sobie do $min $skok i dziala :)
Z tym ze w tym wypadku zawsze wybieramy z bazy wszystkie wyniki a wyswietlamy ich czesc dlatego ciekaw jestem czy prezentowane w artykule podejscie daje jakies znaczace zwiekszenie szybkosci dzialania na duzych bazach czy nie ma to znaczenia bo np silnik bazy i tak mysi zapytac o wszystkm zeby ograniczyc sobie potem?
|
 |
|
W postgresie mozna to zrobic tak samo tylko zamiast mysql uzyc pgsql ;))
A co do drugiego komentarza, to rzeczywiscie bedzie to dzialac :) Ale jak sam zauwazyles musi byc wszystko wyciagniete z bazy i przeslane do procesu php. Jesli tych danych bedzie naprawde duuuuuuuuzo to sytuacja nie bedzie wesola... szczegolnie jesli baza danych bedzie na innym komputerze.
Hmmm nie wiem czy cala baza musi byc przegladana... jesli mamy ja poindeksowana to wydaje mi sie, ze mysql bedzie potrafi wykorzystac te indeksy do optymalizacji LIMIT'a, ale o to trzeba by zapytac kogos innego :) Ja tylko zgaduje.
|
 |
|
Wlasnie sprawdzilem... mysql optymalizuje LIMIT na poindeksowanych tableach. Sprawdzalem to na tabeli z 380243 rekordami. Niestety nie mam takiej duzej tabeli bez indeksow i nie moge sprawdzic czy tez bedzie szybciej.
|
|
|
|
|
 |