Procedure consigliate per chiamare stored procedure compilate in modo nativoBest Practices for Calling Natively Compiled Stored Procedures

Le stored procedure compilate in modo nativo:Natively compiled stored procedures are:

  • Vengono in genere utilizzate nelle parti critiche per le prestazioni di un'applicazione.Used typically in performance-critical parts of an application.

  • Vengono eseguite di frequente.Frequently executed.

  • Devono essere molto veloci.Expected to be very fast.

    Il vantaggio a livello di prestazioni garantito dall'utilizzo di una stored procedure compilata in modo nativo aumenta con il numero di righe e la quantità di logica elaborata dalla procedura.The performance benefit of using a natively compiled stored procedure increases with the number of rows and the amount of logic that is processed by the procedure. Ad esempio, tramite una stored procedure compilata in modo nativo vengono garantite prestazioni migliori se si utilizzato uno o più degli elementi seguenti:For example, a natively compiled stored procedure will exhibit better performance if it uses one or more of the following:

  • Aggregazione.Aggregation.

  • Join a cicli annidati.Nested-loops joins.

  • Operazioni di selezione, inserimento, aggiornamento ed eliminazione a più istruzioni.Multi-statement select, insert, update, and delete operations.

  • Espressioni complesse.Complex expressions.

  • Logica procedurale, ad esempio cicli e istruzioni condizionali.Procedural logic, such as conditional statements and loops.

    Se è necessario elaborare una sola riga, l'utilizzo di una stored procedure compilata in modo nativo non può garantire un vantaggio in termini di prestazioni.If you need to process only a single row, using a natively compiled stored procedure may not provide a performance benefit.

    Per evitare che nel server debbano essere eseguiti il mapping dei nomi di parametro e la conversione dei tipi:To avoid the server having to map parameter names and convert types:

  • Associare i tipi dei parametri passati alla stored procedure ai tipi nella definizione della stored procedure.Match the types of the parameters passed to the procedure with the types in the procedure definition.

  • Utilizzare i parametri ordinali (senza nome) per chiamare le stored procedure compilate in modo nativo.Use ordinal (nameless) parameters when calling natively compiled stored procedures. Per un'esecuzione ottimale, non utilizzare parametri denominati.For the most efficient execution, do not use named parameters.

    Le inefficienze nei parametri con stored procedure compilate in modo nativo può essere rilevato tramite l'XEvent natively_compiled_proc_slow_parameter_passing:Inefficiencies in parameters with natively compiled stored procedures can be detected through the XEvent natively_compiled_proc_slow_parameter_passing:

    • Tipi non corrispondenti: reason=parameter_conversionMismatched types: reason=parameter_conversion
    • Parametri denominati: reason=named_parametersNamed parameters: reason=named_parameters
    • Valori predefiniti: reason=defaultDEFAULT values: reason=default

Vedere ancheSee Also

Stored procedure compilate in modo nativoNatively Compiled Stored Procedures