sql >> Databasteknik >  >> RDS >> Sqlserver

Varför blockerar SQL Server 2008 SELECT's på långa transaktioner INSERT's?

detta låsbeteende är en funktion i SQL Server. Med 2005 och högre kan du använda versionering på radnivå (vilket är det som används som standard på Oracle) för att uppnå samma resultat och inte blockera dina val. Detta sätter extra belastning på tempdb eftersom tempdb upprätthåller versionshanteringen på radnivå, så se till att du anpassar dig till detta. För att få SQL att bete sig som du vill, kör detta:

ALTER DATABASE MyDatabase
SET ALLOW_SNAPSHOT_ISOLATION ON

ALTER DATABASE MyDatabase
SET READ_COMMITTED_SNAPSHOT ON


  1. Unikhetsvalidering i databasen när validering har ett villkor

  2. Index används inte när LIMIT används i postgres

  3. codeigniter-databas flyttar till en annan tabell

  4. Vad är poängen med INTE NULL DEFAULT ''?