Frage : Hohe Einsatz-/Updatezeit wegen des Auslösers


Lieb alle,
           Ich habe eine Ausgabe hier. Es gibt eine Tabelle, die benutzt wird, um Verhandlung auf allem Produkt zu notieren, das das Tag abgewickelt wird.
Auch es gibt 2 Auslöser, das auf der gleichen Tabelle definiert wird (man ist EINSATZ und ist an zweiter Stelle UPDATE).
Ich habe auf einen drastischen Unterschied auf der Einfügung updations Zeit zufällig gestoßen, welche die betroffene Zahl depeneding ist
Produkt, auf dem Rechnung gebildet wird.
Beispiel: Wenn ich eine Rechnung erzeuge, die Produkt 6-50 dann enthält, dauert es 2 Sekunden, um zu speichern wo, als ob erzeugen
Rechnung auf 100 Produkten dann dauert es 30 Minuten zu außer.

 Können Sie herausfinden, wo die Ausgabe liegt.

 Auch, wenn ich den Auslöser dann sperre, das Enthalten von 100 Produkten fakturieren erhalten gespeichert in 3 - 4 zweitem.
 

 Frei sich fühlen, mehr Eingänge vom myside betreffend dieses Problem zu nehmen.

Danke

Antwort : Hohe Einsatz-/Updatezeit wegen des Auslösers

Das Problem konnte mit Kreation der Temptabellen und der zugeteilten Größe von Temp-DB sein. Da Sie die Temptabellen manuell nicht am Ende des Auslösers fallenlassen, konnten sie Raum auf tempdb noch halten. Wenn es keinen Raum auf tempdb für das Herstellen von mehr Tabellen für Einsatz auf jeder Reihe (Auslöser der SQL-Serverstütznur sich erinnern an waagerecht ausgerichtete Reihe), gibt, dann wartet der Bediener den freigegeben zu werden tempdb Raum, es sei denn Sie endlose Datei spezifiziert haben.

Das folgende am Ende von hinzufügen

Tabelle #TempTempSkuTransaction fallenlassen;

Auch überprüfen, ob Sie TempTable freigeben können.

Weitere Lösungen  
 
programming4us programming4us