Tarhon-Onu Victor wrote:
On Mon, 23 Jul 2007, Radu Oprisan wrote:
hmmm ... din cunostintele mele vagi despre alte sisteme sql, in afara
de mysql, ar trebui sa existe peste tot un field auto_increment (ma
rog, sa poti sa-l faci, daca tii musai) si poti sa te iei dupa ala.
Sau asa, doar ca de obicei acele cimpuri trebuie sa lucreze
sincron pentru a asigura unicitatea valorilor de acolo, indiferent ca
e cimp auto_increment in mysql sau ca e facut cu sequence-uri in alte
natii de SQL. Iar lucrul sincron implica niste delay-uri la throughput
mare pentru ca apar acolo niste lock-uri si implicit niste timpi de
asteptare pentru disparitia lock-ului.
Iar daca folosesti un cimp de tip timestamp, nu stiu in mysql cum
e insa in postgres are rezolutie pina la microsecunda (probabil ca
mysql se va opri la secunda, in stilul lui superficial caracteristic),
si nu exista nici un sistem cunoscut de noi care sa poata procesa mai
mult de o tranzactie pe microsecunda astfel incit sa apara duplicate
(teoretic e posibil sa apara duplicate, insa probabilitatea e infima).
Sau nu cu mysql in orice caz:))
Auzi, acuma incepi si tu ca djb cu random bazat pe getpid ? :-))
Oricum pentru o aplicatie cat de cat care se respecta trebuie sa
folosesti incrementi, secvente sau alte chestii built in daca ai nevoie
de ceva care sa mearga din n in n. Dar pur si simplu poate anumitor
tabele li se rupe de incrementii tai si chiar nu e nevoie de ei (acuma
ca de obicei in calculatoare, nu exista o solutie perfecta pentru orice)
Pana la urma mi-am bagat picioarele si am lasat in porcaria aia a mea
order desc, ca era chiar mai sugestiv in halul ala. Dar pe viitor as fi
fost tentat sa stiu daca ma mai lovesc de vreo chestie de asta simpla la
prima vedere dar cam creepy.
Mersi oricum pentru raspunsuri.
Alex
_______________________________________________
RLUG mailing list
[email protected]
http://lists.lug.ro/mailman/listinfo/rlug