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

Raspunde prin e-mail lui