[MSSQL] Isolations level einer Transaktion

  • Allgemein

    [MSSQL] Isolations level einer Transaktion

    Ich hätte nur eine ganz kurze Frage. Und zwar wenn ich das Isolationslevel einer Transaktion auf z.B. READ UNCOMMITTED setze, kann dann nur die aktuelle Transaktion(also in welcher ich dies gesetzt habe) uncommittete Datensätze lesen oder auch andere Transaktionen welches dies nicht explizit gesetzt haben? Oder besser gesagt, gibt es eine Möglichkeit für die AKTUELLE Transaktion uncommitete Elemente zu lesen aber bei allen anderen Transaktionen dies nicht zuzulassen. Das Problem ist folgendes: Ich habe einen Import welcher Datensätze importiert bzw. auch aktualisiert. Damit ich jedoch aktualisieren kann, muss ich erst überprüfen ob es einen Datensatz gibt der aktualisiert werden muss. Wenn nein wird ein neuer erstellt. Im Moment mache ich das ganz unperformant indem ich nach jedem Datensatz committe. Das will ich aber auf jeden Fall ändern, da es zwar funktioniert aber einfach unperformant ist(gerade bei rießigen importen mit mehreren mio Datensätzen). Jedoch wenn ich eben nicht committe, kann ich nicht auswerten, ob es bereits ähnliche Einträge gibt welche ich aktualisieren kann oder Einträge auf welche sich andere Tabellen beziehen.
    Also was genau macht dieser Befehl:

    SQL-Abfrage

    1. SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED



    Erledgit


    Opensource Audio-Bibliothek auf github: KLICK, im Showroom oder auf NuGet.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „thefiloe“ ()