Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Les procédures stockées compilées en mode natif sont les suivantes :
Utilisé généralement dans les parties critiques des performances d’une application.
Fréquemment exécuté.
On s’attendait à ce qu’il soit très rapide.
L’avantage en matière de performances de l’utilisation d’une procédure stockée compilée en mode natif augmente avec le nombre de lignes et la quantité de logique traitée par la procédure. Par exemple, une procédure stockée compilée en mode natif présente de meilleures performances si elle utilise un ou plusieurs des éléments suivants :
Agrégation.
Jointures de boucles imbriquées.
Opérations de sélection, d'insertion, de mise à jour et de suppression impliquant plusieurs instructions.
Expressions complexes.
Logique procédurale, telle que les instructions conditionnelles et les boucles.
Si vous devez traiter une seule ligne, l’utilisation d’une procédure stockée compilée en mode natif peut ne pas offrir d’avantages en matière de performances.
Pour éviter que le serveur ait à mapper les noms de paramètres et à convertir des types :
Mettre en correspondance les types des paramètres passés à la procédure avec les types de la définition de procédure.
Utilisez des paramètres ordinal (sans nom) lors de l’appel de procédures stockées compilées en mode natif. Pour l’exécution la plus efficace, n’utilisez pas de paramètres nommés.
L’utilisation de paramètres nommés (inefficaces) avec des procédures stockées compilées en mode natif peut être détectée par le biais du XEvent hekaton_slow_parameter_passing, avec reason=named_parameters.
De même, vous pouvez détecter l’utilisation de types incompatibles via le même XEvent hekaton_slow_parameter_passing, avec reason=parameter_conversion.
Étant donné que vous devez implémenter une logique de répétition lors de l’utilisation de tables mémoire optimisées (dans de nombreux scénarios) et que vous devez contourner certaines limitations de fonctionnalités, vous pouvez créer une procédure stockée interprétée Transact-SQL comme une enveloppe. Pour obtenir un exemple, consultez Instructions relatives à la logique de nouvelle tentative pour les transactions sur les tables Memory-Optimized.