[ Milan M. Radovic @ 02.12.2009. 16:32 ] @
Znam da je to prilicno diskutabilno reci koliko je mnogo... ali kod mene je otprilike ovako (za sada)

Najvise upita se izredja prilikom stvaranja sesije i provere i logovanja, to je ukupno 5... to je ustvari 3 upita,ali se tokom rada moze pojaviti i 5,jer se neki ponavljaju. Sto se tih 5 tice, mislim da nece mnogo "drati" jer su to tabele od plafon 20 redova... radi sa tabelama online korisnika i prilikom provere korisnika sa tabelom 'users'...

Preostali upiti su za statistiku, gde se vadi count za ovo,count za ono... i za korisnicku klasu u PHPu .. isto iz 'users' tabele... dakle?

Tu ce biti jos mozda max 5 upita u zavisnosti od funkcije strane, verovatno za uzimanje,brisanje i sl za tabelu 'products'

Ako recimo (na moju veliku zelju) velicina tabela bude ovako:
users: 10,000
online: ~50
products: 500.000

Da li je 10-15 upita mnogo? :( (Koristim iskljucivo ugnjezdene upite,izbegavam prirodna spajanja...)

[ Tyler Durden @ 02.12.2009. 19:02 ] @
Koliko ja znam upravo ugnjezdene upite treba izbjegavati u slucaju da ti nisu bas neophodni, odnosno samo na taj nacin mozes da dobijes ono sto trazis. Mozda grijesim.

Pitanje ti je nedovrseno. 10-15 upita po sekundi? Po danu? Po deceniji?
Ni za jedan od ova tri slucaja to nije mnogo.
[ Milan M. Radovic @ 02.12.2009. 19:22 ] @
Pa, reci je o PHP-u koji koristi MySQL... , znaci 10-15 upita po stranici...
Ja sam jednom testirao sam milion redova brojeva i upit koji radi sve i svasta... tipa sinusi,kosinusi blabla... i bilo je manje od 1sek....
Ali.... ipak su to 15ak upita po strani.... a ne mogu da ih uprostim... neophosdni su...

A prirodno spajanje je gore, to sam testirao ranije, jer onda poredi redove svaki sa svakim: npr,ako ima 10 redova on ce 100 puta prelaziti tabelu! , sa ugnjezdenim 2... ako je rec o tabeli koja radi sama sa sobom..
[ agvozden @ 02.12.2009. 20:08 ] @
Mysql, ukoliko su baza, inedksi i upiti lepo optimizovani uopte nije veliki potrosac resursa, ukoliko se ne radi o ogromnoj bazi.
Tu treba odvojeno posmatrati upite:
-select
-update
-insert

veci zastoj u veb aplikacijama dolazi u procesiranju fajlova, obradi templejta, manipulaciji sa stringovima... zavisno od programskog jezika.

Napravi neki damp, meni svi upiti ide preko iste klase, pa tako mozes meriti vreme za izvrsenje sql-a.
Odmah ces naci slaba mesta pa ih provuci kroz explain.

uporedi to sa ostatkom vremena potrebnim da se procesira sajt...
[ Milan M. Radovic @ 02.12.2009. 20:59 ] @
Za kreiranje baze koristim EMS MySQL Manager, pa on lepo sve indexe kreira... za spoljasnje i primarne kljuceve.
Najvise ima SELECTA, nazalst.... Sad mi je sve na lokalu, pa radi brzo... mada kad ga 'obesim' na loopi-in server.. tamo ce mozda raditi brsze.. ko zna. Ja sam trenutno u WAMP okruzenju,pa ako zagusti kasnije, napravicu dump definitivno.

Hvala puno!
[ bogdan.kecman @ 03.12.2009. 08:50 ] @
Citat:
Milan M. Radovic:
A prirodno spajanje je gore, to sam testirao ranije, jer onda poredi redove svaki sa svakim: npr,ako ima 10 redova on ce 100 puta prelaziti tabelu! , sa ugnjezdenim 2... ako je rec o tabeli koja radi sama sa sobom..


ne moze nikako join da bude sporiji od toga da ti radis u pelji dva upita ... ako jeste onda nisi napisao join kako treba
[ Shinhan @ 04.12.2009. 07:20 ] @
Citat:
bogdan.kecman: ne moze nikako join da bude sporiji od toga da ti radis u pelji dva upita ... ako jeste onda nisi napisao join kako treba


Na primer join po ne-indexiranim poljima...