07. maj 2003 - 08:27Der er
2 kommentarer og 1 løsning
To LOCK or not to LOCK - Thats the question
Jeg har et system, hvor flere brugere har adgang til at redigere i de samme data. Derfor laver jeg en Application.lock inden jeg eksempelvis laver en UPDATE på nogle data.
Spørgsmålet er om der er nogen idé i at lave Application.lock når man laver en SELECT statement? Kan der opstå nogen problemer ved ikke at sikre man er ene om at have adgang, når man kun skal læse data?
Der bliver investeret massivt i AI. Teknologien er mere tilgængelig end nogensinde, og ambitionerne er høje. Alligevel oplever mange virksomheder, at resultaterne udebliver.
Det er et klassisk readers-writers eksempel. Principielt set kan du ha' alle de readers (SELECT) du vil, men kun en writer (INSERT/UPDATE). Det er kun writers der har behov for at låse dataene før brug.
Medmindre det virkelig er noget systemkritisk data der skal redigeres, og alt afhængig af hvilken database-type du bruger, så skulle der generelt set ikke være det store behov for at lave locks, da access normalt selv styrer locks ved updates og inserts (så vidt jeg husker i hvert fald).
Ja og nej... Jeg har brug for at lave Application.lock fordi jeg laver mere end 1 transaktion, og jeg kan ikke tillade at andre tilgår data efter den første transaktion, men før den anden. I disse situationer har jeg brug for at låse, så jeg ved det KUN er den bruger der tilgår data.
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.