Pogledajte određenu poruku
Staro 18. 03. 2006.   #10
Pedja
Predrag Supurović
Grand Master
 
Datum učlanjenja: 24.01.2006
Lokacija: Užice
Poruke: 791
Hvala: 3
200 "Hvala" u 12 poruka
Pedja is on a distinguished roadPedja is on a distinguished roadPedja is on a distinguished road
Default

Koliko znam, samim tim sto postavis primarni kljuc tabele on predstavlja i indeks, tako da nema potrebe da se postavlja poseban index po istom polju.

No probao sam da stavim dodatne indekse i description polje sam promenio u CHAR umesto vARCHAR. Nema razlike. I dalje je PHP brzi.

Stoji da je SQL JOIN elegantniji samo me svrbi to sto je sporije, cisto iz principijelnih razloga. Do juce sam smeo da se zakunem da nista ne moze biti brze osim u specijalnim slucajevima.

Cini mi se da je ovde kvaka u asocijativnom nizu PHP-a posto to izgleda radi vraski brzo, bez obzira na poredjenje sa MySQL-om. Ne znam kako to radi interno, ali mi se nikako ne uklapa da je brze nego sto to radi MySQL.

Zanimljivo je da razlika u brzini opada kako raste broj slogova u master tabeli, odnosno ostaje priblizno ista u apsolutnoj vrednosti (kod mene je to oko jedne sekunde).

Bilo bi zanimljivo videti ovaj test pusten na nekom drugom serveru.

Inace, u realnnoj upotrebi ovakav upit je po pravilu ogranicen na izdvajanje svega desetak do pedeset slogova. Test vuce celu master tabelu zbog merenja. Tada razlika u iskoriscenju resursa postaje zanemarljiva ali je covek u stvari napravio odicno resenje, jer SQL upiti se generisu dinamicki i razdvajanjem lookup-a od osnovne tabele, covek je znatno pojednostavio stvar, resio se goleme bede oko uklapanja svih joinova, omogucio znatno vecu upotrebljivost lookup-a (post sada nije ogranicen JOIN-ovima moze da dozvoli da maksimalno parametrizuje upit koji daje lookup tabelu, ukljucujuci i mogucnost da se custom napise ceo SELECT), i jos, kao slag na tortu, dobio vecu brzinu.

Poslednja izmena od Pedja : 18. 03. 2006. u 07:54.
Pedja je offline   Odgovorite uz citat