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.
Nativ kompilierte gespeicherte Prozeduren sind:
Wird in der Regel in leistungskritischen Teilen einer Anwendung verwendet.
Häufig ausgeführt.
Es wird erwartet, dass es sehr schnell ist.
Der Leistungsvorteil der Verwendung einer nativ kompilierten gespeicherten Prozedur erhöht sich mit der Anzahl der Zeilen und der Anzahl der Logik, die von der Prozedur verarbeitet wird. Eine nativ kompilierte gespeicherte Prozedur zeigt beispielsweise eine bessere Leistung, wenn eine oder mehrere der folgenden Elemente verwendet werden:
Aggregation.
Geschachtelte Schleifenverknüpfungen.
Mehrfachauswahl-, Einfüge-, Aktualisierungs- und Löschvorgänge.
Komplexe Ausdrücke.
Prozedurlogik, z. B. bedingte Anweisungen und Schleifen.
Wenn Sie nur eine einzelne Zeile verarbeiten müssen, bietet die Verwendung einer nativ kompilierten gespeicherten Prozedur möglicherweise keinen Leistungsvorteil.
So vermeiden Sie, dass der Server Parameternamen zuordnen und Typen konvertieren muss.
Vergleichen Sie die Typen der übergebenen Parameter mit den Typen der Prozedurdefinition ab.
Verwenden Sie Ordinalparameter (nameless), wenn Sie nativ kompilierte gespeicherte Prozeduren aufrufen. Verwenden Sie für die effizienteste Ausführung keine benannten Parameter.
Die Verwendung ineffizienter benannter Parameter mit nativ kompilierten gespeicherten Prozeduren kann durch das XEvent hekaton_slow_parameter_passing erkannt werden reason=named_parameters.
Ebenso können Sie die Verwendung von nicht übereinstimmenden Typen mithilfe desselben XEvent hekaton_slow_parameter_passing mit reason=parameter_conversion erkennen.
Da Sie die Wiederholungslogik implementieren müssen, wenn Sie speicheroptimierte Tabellen (in vielen Szenarien) verwenden, und da Sie bestimmte Featureeinschränkungen umgehen müssen, können Sie einen Wrapper erstellen, der Transact-SQL gespeicherten Prozedur interpretiert wurde. Ein Beispiel finden Sie unter Richtlinien für die Wiederholungslogik für Transaktionen in Memory-Optimized Tabellen.