Einzelnen Beitrag anzeigen

HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
969 Beiträge
 
Delphi 6 Professional
 
#7

AW: FireDAC, onDemand, DeadLock

  Alt 8. Jul 2018, 16:47
Hmm..

Die Preisfrage ist doch, wer den Datensatz festhällt, obwohl Querys mit INSERT, EDIT und DELETE verwendt werden. Imho Imho kann eigentlich kein DeadLock
entstehen wenn alle umgehend ein Post ausführen.
Nur ein kleiner Hinweis:
Der MS SQL-Server macht nicht nur für INSERT, EDIT und DELETE ein Row/Table Lock, sondern auch für SELECT.
Er entscheidet selber (je nach Query) ob er nur Rows, oder ganze Tables lockt.

Wenn dann irgend ein anderer Query ausgeführt wird, und dieser länger dauert kann es zu einem Deadlock kommen, wenn sich 2/3 oder mehr gegenseitig blockieren, wenn diese zu lange dauern und in den timeout gelaufen wird.
Hinweis: Ein Change ist nicht mit Post abgeschlossen, da diverse Aktionen wie Trigger/Index-Aktualisierungen auch noch danach laufen können.
Auch diese erzeugen wieder Locks..

Durch die möglichkeit von SNAPSHOT Verwendung werden alle Selects ohne Locks ausgeführt...
  Mit Zitat antworten Zitat