Während ich die Leistungsoptimierung Konzepte von SQL Server durchlaufe, fand ich gespeicherte Prozedur mit "SET NOCOUNT ON" in der ersten Zeile und setzen Sie es wieder auf "SET NOCOUNT OFF" in der letzten Zeile wird dazu beitragen, die Leistung zu verbessern.Meine Zweifel hier ist, wie es hilfreich sein wird, während der Verwendung der gespeicherten Prozedur mit dem SSIS-Paket.Was ist der Vorteil der Verwendung von "Set NOCOUNT ON" in Stored Procedures, die in SSIS-Paketen verwendet werden?
2
A
Antwort
6
SET NOCOUNT ON verhindert das Senden von DONE_IN_PROC-Nachrichten an den Client für jede Anweisung in einer gespeicherten Prozedur. Für gespeicherte Prozeduren, die mehrere Anweisungen enthalten, die nicht viele tatsächliche Daten zurückgeben, oder für Prozeduren, die Transact-SQL-Schleifen enthalten, kann das Festlegen von SET NOCOUNT auf ON zu einer erheblichen Leistungssteigerung führen, da der Netzwerkverkehr stark reduziert ist.
Quelle BOL: SET NOCOUNT
* Signifikante * ist ein bisschen weit hergeholt – Paparazzi
@Paparazzi nein, es nicht ist. Ein Anruf, der * keinen * Rückgabewert hat, bedeutet, dass es keinen Grund gibt, Puffer dafür zu verwenden oder etwas über das Netzwerk zurückzusenden. Datenbanken sind für viele tausend Anfragen gedacht und kleine Verbesserungen summieren sich –
@PanagiotisKanavos Eliminieren Sie einen DONE_IN_PROC ist eine signifikante? Sie müssen Ihr Modem aktualisieren. – Paparazzi