SQL Management Studio: Connect and Queries take so long
SQL Management Studio: Connect and Queries take so long
- + Read more @@ -137,7 +137,7 @@SQL Management Studio: Connect and Queries take so long
Timeout - permalink + permalink @@ -146,12 +146,12 @@SQL Management Studio: Connect and Queries take so long
Git: Add .gitignore after commit
Git: Add .gitignore after commit
- + Read more @@ -178,7 +178,7 @@Git: Add .gitignore after commit
gitignore - permalink + permalink @@ -187,12 +187,12 @@Git: Add .gitignore after commit
Self Hosted ASP.NET Core: TagHelper doesn't work
Self Hosted ASP.NET Core: TagHelper doesn't work
- + Read more @@ -223,7 +223,7 @@Self Hosted ASP.NET Core: TagHelper doesn't work
TagHelper - permalink + permalink @@ -232,12 +232,12 @@Self Hosted ASP.NET Core: TagHelper doesn't work
SelfHosted ASP.NET Core 2.0 Application
SelfHosted ASP.NET Core 2.0 Application
- + Read more @@ -274,7 +274,7 @@SelfHosted ASP.NET Core 2.0 Application
Windows Service - permalink + permalink @@ -283,12 +283,12 @@SelfHosted ASP.NET Core 2.0 Application
SQL Server 2012: EOMONTH Funktion
SQL Server 2012: EOMONTH Funktion
- + Read more @@ -315,7 +315,7 @@SQL Server 2012: EOMONTH Funktion
SQL Server 2012 - permalink + permalink @@ -324,12 +324,12 @@SQL Server 2012: EOMONTH Funktion
“Add STS Reference” in Visual Studio 2012
“Add STS Reference” in Visual Studio 2012
- + Read more @@ -360,7 +360,7 @@“Add STS Reference” in Visual Studio 2012
Visual Studio - permalink + permalink @@ -369,12 +369,12 @@“Add STS Reference” in Visual Studio 2012
Paging mit OFFSET und FETCH im SQL Server 2012
Paging mit OFFSET und FETCH im SQL Server 2012
- + Read more @@ -409,7 +409,7 @@Paging mit OFFSET und FETCH im SQL Server 2012
TOP - permalink + permalink @@ -418,12 +418,12 @@Paging mit OFFSET und FETCH im SQL Server 2012
Neuerungen mit SharePoint 2013
Neuerungen mit SharePoint 2013
- + Read more @@ -452,7 +452,7 @@Neuerungen mit SharePoint 2013
SharePoint 2013 - permalink + permalink @@ -461,12 +461,12 @@Neuerungen mit SharePoint 2013
Update auf große Datenmengen mit @@ROWCOUNT
Update auf große Datenmengen mit @@ROWCOUNT
- + Read more @@ -496,7 +496,7 @@Update auf große Datenmengen mit @@ROWCOUNT
WAITFOR DELAY - permalink + permalink @@ -518,55 +518,55 @@Update auf große Datenmengen mit @@ROWCOUNT
+ + + + + + + + + + + + + + + +Häufig steht man vor der Herausforderung in einer sehr großen Tabelle Datensätze zu aktualisieren. Hat diese z.B. wie in meinem Szenario über 10 Millionen Datensätze und einen Trigger der auf Update Commands reagiert, ist es nicht sehr sinnvoll mit einem mal mehr als 1000 Zeilen zu aktualisieren. +Hierbei kann es zu ungewollten Table Locks kommen. Noch problematischer wird es, wenn während des Zeitpunktes des Updates viele Abfragen auf dieser Tabelle ausgeführt werden.
+ +Der erste Lösungsansatz bei diesem Problem ist ein eingeschränkter Update Befehl auf 1000 Zeilen. Diese kann man mit einem UPDATE TOP (1000) und ebenso mit dem Befehl SET ROWCOUNT 1000 erreichen (Siehe Beispiele).
+ +Möchte man nun etwa 100000 Zeilen aktualisieren empfiehlt es sich hierfür eine Schleife zu bauen. Außerdem sollte nach jedem Updatebefehl eine Wartezeit von 1-3 Sekunden eingefügt werden, damit andere Anfragen die Möglichkeit haben Sperren zu setzen. Dies erreicht man durch den Befehl WAITFOR DELAY. Hier ein Beispiel:
+ +Der gesamte Updatevorgang kann dadurch etwas länger dauern, man minimiert jedoch die Wahrscheinlichkeit von Locks über die ganze Tabelle und erlaubt z.B. Triggern optimaler zu arbeiten.
+ + + + +