Procedure consigliate per chiamare stored procedure compilate in modo nativo

Si applica a:SQL ServerDatabase SQL di AzureIstanza gestita di SQL di Azure

Le stored procedure compilate in modo nativo:

  • Vengono in genere utilizzate nelle parti critiche per le prestazioni di un'applicazione.

  • Vengono eseguite di frequente.

  • È previsto che siano veloci.

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. Ad esempio, tramite una stored procedure compilata in modo nativo vengono garantite prestazioni migliori se si usano uno o più dei componenti seguenti:

  • Aggregazione.

  • Join a cicli annidati.

  • Operazioni di selezione, inserimento, aggiornamento ed eliminazione a più istruzioni.

  • Espressioni complesse.

  • Logica procedurale, ad esempio cicli e istruzioni condizionali.

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.

Per evitare che nel server debbano essere eseguiti il mapping dei nomi di parametro e la conversione dei tipi, assicurarsi di:

  • Associare i tipi dei parametri passati alla stored procedure ai tipi nella definizione della stored procedure.

  • Utilizzare i parametri ordinali (senza nome) per chiamare le stored procedure compilate in modo nativo. Per la massima efficienza di esecuzione, non usare parametri denominati.

Le inefficienze nei parametri con stored procedure compilate in modo nativo può essere rilevato tramite l'XEvent natively_compiled_proc_slow_parameter_passing:

  • Tipi non corrispondenti: reason=parameter_conversion
  • Parametri denominati: reason=named_parameters
  • Valori predefiniti: reason=default

Vedi anche

Stored procedure compilate in modo nativo