Que signifie “recompiler” une procédure stockée sur un Serveur SQL server?
Que signifie "recompiler" une procédure stockée sur un Serveur SQL server?
Cela devrait-il être un processus manuel ou automatisé?
Quels sont les avantages et les inconvénients de ce processus?
Merci!!!!
C'est strictement une opération interne au sein de SQL Server.
Comme une base de données est modifié par des actions telles que l'ajout d'index ou la modification de données dans des colonnes indexées, l'origine des plans de requête utilisé pour accéder à ses tables doivent être optimisées de nouveau en recompilant eux
Utilisation de Recompiler rend SQL Server à recompiler à la SP, donc au lieu d'utiliser un plan existant pour le même SP, moteur de Base de données créer un nouveau plan d'exécution.
Il peut être à la fois automatique et Manuel des processus en fonction de votre exigence. Vous pouvez faire des SP recompiler à chaque fois quand il est exécutée en incluant RECOMPILER "astuce" dans votre SP. Ou d'exécuter
Exec sp_recompile N'yourSP'
manuellement recompiler.
Et comme @Michael mentionné, trop de recompilations peut faire très mal, puisque pour chaque compilation moteur de base de données pour créer un nouveau plan d'exécution qui peut être coûteuse. Donc, généralement, la recompilation automatique de la SP doit être évitée, et même manuellement recompilation devrait être testé dans un environnement de développement première avant de l'utiliser de production pour être sûr que ça aide vraiment.
C'est strictement une opération interne au sein de SQL Server.
Voici MSDN de l'article sur la Recompilation de Procédures Stockées
Lorsque vous émettez une
ALTER PROC
déclaration, vous êtes également à l'origine d'une recompilation de la procédure stockée.OriginalL'auteur p.campbell
Utilisation de Recompiler rend SQL Server à recompiler à la SP, donc au lieu d'utiliser un plan existant pour le même SP, moteur de Base de données créer un nouveau plan d'exécution.
Il peut être à la fois automatique et Manuel des processus en fonction de votre exigence. Vous pouvez faire des SP recompiler à chaque fois quand il est exécutée en incluant RECOMPILER "astuce" dans votre SP. Ou d'exécuter
Exec sp_recompile N'yourSP'
manuellement recompiler.
Et comme @Michael mentionné, trop de recompilations peut faire très mal, puisque pour chaque compilation moteur de base de données pour créer un nouveau plan d'exécution qui peut être coûteuse. Donc, généralement, la recompilation automatique de la SP doit être évitée, et même manuellement recompilation devrait être testé dans un environnement de développement première avant de l'utiliser de production pour être sûr que ça aide vraiment.
OriginalL'auteur JackLock