[ dejanm @ 23.06.2003. 11:48 ] @
Da li neko zna kako da sa update naredbom postignem ono sto radi auto_increment i
kako da kod select-a dobijem redni broj recorda naravno bez auto_increment i bez ikakvog polja. (za 3.23 verziju)

[Ovu poruku je menjao dejanm dana 23.06.2003. u 18:37 GMT]
[ byTer @ 23.06.2003. 14:09 ] @
Naravno. Ovo drugo je samo SELECT MAX(ID) AS MaxID FROM TABLE1

A ovo prvo: To ti je sve vec u samom SQL serveru. Polje tipa int, auto increase by 1 ili samo polje tipa auto number!
[ bluesman @ 23.06.2003. 18:06 ] @
Mozda je brze? (ovo je pitanje nije konstatacija):

SELECT id FROM table1 ORDER BY id DESC LIMIT 1;
[ arsa x @ 24.06.2003. 21:42 ] @
E basme je zanimalo sta je brze pa sam istestirao

Code:

....
for ($i=0;$i<5000;$i++){
 $aResult=mysql_query($SQL);
}
..

OS: winXP, procesor: duron 1300

1. SELECT MAX(id) AS MaxID FROM tabela
dobio sam srednju vrednost 6,51 sec
a za

2. SELECT id FROM tabela ORDER BY id DESC LIMIT 1;
dobio 5,27 sec

[ bluesman @ 26.06.2003. 03:12 ] @
Evo sada si i mene naterao da probam. :-)

probao sam sa 2850 records u lokalu (win2k, mysqk 3.23.55-nt, service: mysqld-nt):

MAX() -> 0.18 sec
order -> 0.02 sec

Nisam ni ja bio siguran sta je brze.
[ arsa x @ 26.06.2003. 17:26 ] @
Ja sam malo pogresan test izvrsio jer imam samo 33 recordsa trebao sam uraditi to sto si ti.
Nije mi jasno ako si isto stavio petlju 5000 malo nelogicno izgleda vreme ??

ili si provukao kroz petlju pa vreme podelio sa 500??

[ bluesman @ 27.06.2003. 02:35 ] @
Pa vidis, problem je st mysql kešira rezultate pa sam već na drugom prolazu dobio vreme 0.0 za oba querija. Zato je bolje samo jedan. Medjutim, kada okrenes redosled querija opet dobijas razlicito (prvi je uvek sporiji) mada je za order by... vreme oko 0.10 za prvi put. Najpostenije je da restartijes mysql i probas nekoliko puta. to sam i uradio i ispada da je

... order by id limit 1 oko 40% brzi u proseku
[ arsa x @ 27.06.2003. 03:10 ] @
Mozda nesto tipa da se u jednom skriptu izvrsavaju oba querija(oduzima-sabira tu neko vreme itd...) da bi se merilo vreme (bez kesiranja).

E sad pitanje dali po jednoj konekciju mysql kesira samo zadnji queri.......

Mada oboje smodobili da je brze ORDER BY id LIMIT 1.

Sto je itekako bitno kod posecenih sajtova.