|
|
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.
|
|
|
|
|
|