Les procédures stockées MySQL sont-elles une mauvaise pratique?

Contenu

Le Procédures stockées MySQL est devenu l'un des outils préférés pour les calculs de données complexes, jouer un rôle important. Mais cependant, Les procédures stockées MySQL causent également des inconvénients. Par exemple, beaucoup de ses fonctions sont problématiques, difficile à supprimer ou à migrer; et il y en a bases de données avec Procédures stockées MySQL assez faible. Ces problèmes parfois affecter sérieusement l'efficacité des développeurs de bases de données.

procedimientos almacenados de mysql

Crédits photos: canjoena

Les procédures stockées MySQL peuvent être bénéfiques

Les procédures stockées MySQL favorisent l'agilité en aidant à la vitesse. Ils facilitent également la réutilisation du code. et encapsulation (deux piliers du développement logiciel). En même temps, ils peuvent devenir un allié de la sécurité, car ils ont la capacité de se protéger contre les attaques par injection SQL et peuvent accorder et révoquer des autorisations sur une procédure stockée individuellement.

Mais cependant, pour éviter ses désagréments, vous devez savoir où et comment utiliser les procédures stockées MySQL:

  1. Contrôle d'accès. Peut être utilisé pour autoriser des clauses SQL arbitraires dans les environnements de développement et UATet les interdire dans les environnements et systèmes de production. De cette façon, toute clause qui atteint le système ou la production pourrait être examinée par les développeurs et le DBA.
  2. Logique évolutive. Les procédures stockées MySQL sont également utiles dans les situations où le serveur d'applications ne peut pas être mis à l'échelle (ni dans les environnements cloud ni sur site). S'il y a suffisamment de capacité sur le backend de la base de données, la logique métier pourrait y être déplacée.
  3. Agrégation de données. Une autre situation où peut être utilisé lorsqu'une application a besoin de données de plusieurs requêtes ou vues pour être transposées ou agrégées. Disposer de ce type de procédure permet de télécharger depuis l'application vers la base de données.

En résumé, On pourrait soutenir que procédures stockées MySQL est excellent pour accélérer certaines opérations de base de données. Dans la pratique, il faut seulement noter que, au niveau architectural, Il serait préférable de laisser toute la logique dans la couche métier de l'application et d'utiliser spécifiquement les procédures stockées MySQL pour augmenter les performances. lorsque l'analyse comparative indique qu'elle est justifiée.

Situations dans lesquelles éviter de recourir aux procédures stockées MySQL

Il y a des moments où il est préférable de ne pas utiliser de procédures stockées. MySQL. Ce sont les suivants:

  • Considéré comme le seul mécanisme de défense contre l'injection SQL.
  • S'il est destiné à étendre son utilisation au-delà de la collecte de données jusqu'à entrer sur le territoire d'une logique complexe. Quelque chose à éviter car cela pourrait être considéré comme une logique métier et, pour cela, devrait rester ailleurs.
  • Lorsque les bases de données sont le seul endroit qui contient des processus de stockage, ceux-ci doivent être traités de la même manière que le code source C # à propos de Java.

Il y a probablement plus d'avantages que d'inconvénients à utiliser des procédures stockées MySQL dans des projets Big Data., Mais quand tu ne sais pas avec certitude jusqu'où tu peux aller avec eux, il vaut mieux ne pas se risquer pour éviter les conséquences.

Abonnez-vous à notre newsletter

Nous ne vous enverrons pas de courrier SPAM. Nous le détestons autant que vous.