Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
För att ange transaktionsisoleringsnivån använder ett program SQL_ATTR_TXN_ISOLATION anslutningsattribut. Om datakällan inte stöder den begärda isoleringsnivån kan drivrutinen eller datakällan ange en högre nivå. För att avgöra vilka transaktionsisoleringsnivåer som en datakälla stöder och vad standardisoleringsnivån är anropar ett program SQLGetInfo med alternativen SQL_TXN_ISOLATION_OPTION respektive SQL_DEFAULT_TXN_ISOLATION.
Högre nivåer av transaktionsisolering ger mest skydd för databasdatas integritet. Serialiserbara transaktioner påverkas garanterat inte av andra transaktioner och garanteras därför upprätthålla databasens integritet.
En högre nivå av transaktionsisolering kan dock orsaka långsammare prestanda eftersom det ökar risken för att programmet måste vänta tills lås på data släpps. Ett program kan ange en lägre isoleringsnivå för att öka prestandan i följande fall:
När det kan garanteras att det inte finns några andra transaktioner som kan störa ett programs transaktioner. Den här situationen inträffar endast under begränsade omständigheter, till exempel när en person i ett litet företag underhåller dBASE-filer som innehåller personaldata på en dator och inte delar dessa filer.
När hastigheten är mer kritisk än noggrannheten och eventuella fel sannolikt är små. Anta till exempel att ett företag gör många små försäljningar och att stora försäljningar är sällsynta. En transaktion som uppskattar det totala värdet för all öppen försäljning kan på ett säkert sätt använda isoleringsnivån Read Uncommitted. Även om transaktionen skulle innehålla order som öppnas eller stängs och därefter återställs, skulle dessa vanligtvis avbryta varandra och transaktionen skulle vara mycket snabbare eftersom den inte blockeras varje gång den stöter på en sådan order.
Mer information finns i Optimistisk samtidighet.