Les procédures stockées sont-elles encore plus efficaces que les instructions en ligne sur les RDBM modernes?
Historiquement, les procédures stockées ont été considérées comme plus rapidement que les déclarations en ligne dues à des facteurs tels que SQL pré-évalué et la latence du réseau réduit. Cependant, ces avantages ont diminué dans les bases de données modernes:
SQL pré-payé: Bien que toujours bénéfique, le gain de performance est moins visible sur les processeurs modernes. Cependant, pour les instructions SQL hautement répétitives, les frais généraux d'analyse peuvent s'accumuler.
Plan d'exécution de la requête pré-générée: Optimiseurs modernes Plans de requête de cache pour les instructions SQL individuelles, réduisant considérablement la différence de performance entre les procédures stockées et AD HOC SQL. Les plans de chemin d'optimiseur peuvent également accélérer considérablement la génération de plan. Les transformations sont effectuées. Cependant, pour les applications sans accès à la mémoire partagée aux données SGBD, les procédures stockées ont toujours un bord.
Paramétrie / préparation SQL: SQL est un hybride entre les procédures stockées et ad hoc sql. Il utilise des paramètres pour les valeurs de requête et permet aux optimisateurs de mettre en cache des plans d'exécution de requête, offrant des avantages de performance similaires aux procédures stockées.
ad hoc sql: Les SGBD modernes peuvent "abstraction" ad hoc sql en versions paramétrées, combler l'espace de performance avec les procédures stockées. Avec des optimisateurs sophistiqués, les performances ad hoc SQL sont souvent comparables aux performances de procédure stockées pour les cas d'utilisation moyens.
Conclusion:
dans la plupart des cas, en utilisant des procédures stockées uniquement pour des raisons de performance est probablement une optimisation prématurée. Pour les charges de travail SQL simples ou modérées, SQL paramétré ou ad hoc peut fournir des performances comparables. Les procédures stockées peuvent toujours être bénéfiques dans des scénarios spécifiques, tels que:
instructions SQL répétitives, en calcul en calculCode de procédure mobile dans les SGBD pour réduire le trafic réseau
complexe SQL exigeant des indices d'optimisation
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3