Maison >base de données >tutoriel mysql >Pourquoi utiliser des procédures stockées MySQL ? Introduction aux procédures stockées MySQL
Procédures stockées
Nécessite MySQL 5 MySQL 5 ajoute la prise en charge des procédures stockées, le contenu de ce chapitre s'applique donc à MySQL 5 et aux versions ultérieures.
La plupart des instructions SQL utilisées jusqu'à présent sont des instructions uniques sur une ou plusieurs tables. Toutes les opérations ne sont pas aussi simples et souvent une opération complète nécessite plusieurs instructions. Par exemple, considérons la situation suivante.
1. Afin de traiter la commande, il faut vérifier que les articles correspondants sont en stock.
2. S'il y a des articles en stock, ces articles doivent être réservés afin qu'ils ne soient pas revendus à d'autres, et le nombre d'articles disponibles est réduit pour refléter le niveau d'inventaire correct.
3. Les articles non en stock doivent être commandés, ce qui nécessite une certaine interaction avec le fournisseur.
4. Les clients concernés doivent être informés des articles en stock (et pouvant être expédiés immédiatement) et des articles désabonnés.
Ceci n'est évidemment pas un exemple complet, et cela dépasse même la portée des exemples de tableaux utilisés dans ce livre, mais c'est suffisant pour aider à exprimer ce que nous voulons dire. L'exécution de ce traitement nécessite plusieurs instructions MySQL sur de nombreuses tables. De plus, les instructions spécifiques qui doivent être exécutées et leur ordre ne sont pas fixes, ils peuvent (et changeront) en fonction des articles qui sont dans l'inventaire et de ceux qui ne le sont pas.
Alors, comment écrivez-vous ce code ? Vous pouvez écrire chaque instruction individuellement et exécuter conditionnellement des instructions supplémentaires en fonction des résultats. Cela doit être fait chaque fois que ce traitement est nécessaire (et dans chaque application qui le nécessite).
Des procédures stockées peuvent être créées. En termes simples, une procédure stockée est une collection d'une ou plusieurs instructions MySQL enregistrées pour une utilisation ultérieure. Considérez-les comme des fichiers batch, bien que leur rôle ne se limite pas au traitement par lots.
Pourquoi utiliser des procédures stockées
Maintenant que nous savons ce qu'est une procédure stockée, pourquoi devrions-nous Et si on les utilisait ? Il existe de nombreuses raisons, dont certaines des principales sont énumérées ci-dessous.
1. Simplifiez les opérations complexes en encapsulant le traitement dans des unités faciles à utiliser .
2. Cela garantit l’intégrité des données puisqu’il ne nécessite pas la mise en place répétée d’une série d’étapes de traitement. Si tous les développeurs et applications utilisent la même procédure stockée (pilote et test), le code utilisé est le même. Une extension de ceci évite les erreurs. Plus vous devez effectuer d’étapes, plus le risque d’erreur est grand. La prévention des erreurs garantit la cohérence des données.
3. Simplifiez la gestion des changements. Si les noms de table, les noms de colonnes ou la logique métier (ou tout autre élément) changent, il vous suffit de modifier le code de la procédure stockée. Les utilisateurs n’ont même pas besoin d’être conscients des changements. Une extension de ceci est la sécurité. Restreindre l'accès aux données sous-jacentes via des procédures stockées réduit le risque de corruption des données (involontaire ou non).
4. Améliorer les performances. Parce que l'utilisation de procédures stockées est plus rapide que l'utilisation d'instructions SQL distinctes.
5. Certains éléments et fonctionnalités MySQL ne peuvent être utilisés que dans une seule requête. Les procédures stockées peuvent les utiliser pour écrire du code plus puissant et plus flexible. En d’autres termes, l’utilisation de procédures stockées présente trois avantages principaux : la simplicité, la sécurité et les hautes performances. Évidemment, ils sont tous importants. Cependant, avant de convertir du code SQL en procédures stockées, vous devez également être conscient de certaines de ses lacunes.
6. De manière générale, l'écriture de procédures stockées est plus compliquée que les instructions SQL de base. L'écriture de procédures stockées nécessite des compétences plus élevées et une expérience plus riche.
7. Vous ne disposez peut-être pas d'un accès sécurisé pour créer des procédures stockées. De nombreux administrateurs de bases de données restreignent les autorisations de création de procédures stockées, permettant aux utilisateurs d'utiliser des procédures stockées mais ne leur permettant pas de créer des procédures stockées. Malgré ces défauts, les procédures stockées sont très utiles et doivent être utilisées autant que possible.
Vous ne parvenez pas à écrire une procédure stockée ? Vous pouvez toujours utiliser MySQL pour séparer la sécurité et l'accès à l'écriture de procédures stockées de la sécurité et à l'accès à l'exécution de procédures stockées. C'est une bonne chose. Même si vous ne pouvez pas (ou ne voulez pas) écrire vos propres procédures stockées, vous pouvez toujours exécuter d'autres procédures stockées, le cas échéant.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!