Avatar billede mik28 Seniormester
14. november 2008 - 14:28 Der er 5 kommentarer og
1 løsning

Difust spørgsmål omkring samtidighed

Hej Eksperter,

Hvordan håndterer MySQL samtidighed, hvis 1000 brugere requester den første række i en given tabel. Sagen er den at jeg skal løse det i JAVA. Vil jeg få en exception hvis en bruger er i gang med at hente en række, imens en anden prøver at hente den samme.
Avatar billede Slettet bruger
14. november 2008 - 15:09 #1
Så vidt jeg ved kommer det an på hvilken type/engine din MySQL tabel er lavet i.
Kan ikke helt huske hvilke der reagerer hvordan, men ved at nogle af tabel typerne (/engines) låser den enkelte række der er ved at blive indlæst, men andre tabel typer ikke låser noget, så der kan hentes/ses data af flere på én gang.

Er det noget i den dur du ledte efter, eller er jeg på afveje?
Avatar billede arne_v Ekspert
14. november 2008 - 15:16 #2
Hvis du bruger InnoDB tabeller, saa understoetter MySQL transaktioner.

Og ved at saette transaction isolation level kan du styre hvordan samtidigheds problemer
styres.

(det saettes paa Connection i almindelig Java - hvis din kode koerer i en container, saa
er der mere avancerede muligheder)

Med MyISAM tabeller er der ikke transaktions support og derfor kan det nemt blive
grumset med hensyn til samtidigheds problemer.

Hvis det kun er open, 1 select, close saa skulle der dog ikke vaere nogle samtidigheds problemer
uanset hvad.
Avatar billede arne_v Ekspert
14. november 2008 - 15:19 #3
http://www.eksperten.dk/artikler/996 kunne vaere relevant at laese !

Java har fremragende support for transaktioner.

Og hvis du bruger InnoDB tabeller, saa er MySQL ogsaa med.
Avatar billede Slettet bruger
14. november 2008 - 15:28 #4
Tydeligvis ved Arne V ca. 250% mere om det end mig, så bare glem min kommentar hehe.
Avatar billede arne_v Ekspert
18. januar 2009 - 04:16 #5
Tid at få afsluttet her ?
Avatar billede mik28 Seniormester
11. juli 2010 - 15:10 #6
lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester