Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Für systemintern kompilierte gespeicherte Prozeduren gilt Folgendes:
Sie werden üblicherweise in leistungskritischen Anwendungskomponenten verwendet.
Sie werden häufig ausgeführt.
Sie zeichnen sich erwartungsgemäß durch eine sehr schnelle Ausführung aus.
Der Leistungsvorteil bei Verwendung einer systemintern kompilierten gespeicherten Prozedur nimmt mit der Anzahl der Zeilen und dem Umfang der Logik zu, die von der Prozedur verarbeitet werden. Beispielsweise lässt sich die Leistung einer systemintern kompilierten gespeicherten Prozedur durch eine oder mehrere der folgenden Maßnahmen verbessern:
Aggregation:
Joins geschachtelter Schleifen.
Auswahl-, Einfüge-, Update- und Löschvorgänge mit mehreren Anweisungen.
Komplexe Ausdrücke.
Prozedurale Logik, wie Bedingungsanweisungen und Schleifen.
Wenn Sie nur eine einzelne Zeile verarbeiten müssen, bietet eine systemintern kompilierte gespeicherte Prozedur u. U. keinen Leistungsvorteil.
So vermeiden Sie, dass der Server Parameternamen zuordnen und Typen konvertieren muss:
Gleichen Sie die Typen der an die Prozedur übergebenen Parameter mit den Typen in der Prozedurdefinition ab.
Verwenden Sie Ordnungszahlparameter (namenlos), wenn Sie systemintern kompilierte gespeicherte Prozeduren aufrufen. Verwenden Sie für die effizienteste Ausführung keine benannten Parameter.
Die Verwendung von (ineffizienten) benannten Parametern mit systemintern kompilierten gespeicherten Prozeduren kann über das XEvent hekaton_slow_parameter_passing
, mit reason=named_parameters
, erkannt werden.
Auf ähnliche Weise können Sie die Verwendung von nicht übereinstimmenden Typen über dasselbe XEvent hekaton_slow_parameter_passing
, mit reason=parameter_conversion
, erkennen.
Da Sie wiederholungslogik implementieren müssen, wenn Sie speicheroptimierte Tabellen (in vielen Szenarien) verwenden und bestimmte Featureeinschränkungen umgehen müssen, können Sie eine gespeicherte Transact-SQL-Wrapper-Prozedur erstellen. Ein Beispiel finden Sie unter Richtlinien für Wiederholungslogik für Transaktionen in Memory-Optimized Tabellen.