Maison > Article > base de données > Quels sont les inconvénients des procédures stockées MySQL
Inconvénients des procédures stockées MySQL : 1. La structure des procédures stockées rend plus difficile le développement de procédures stockées avec une logique métier complexe ; 2. Il est difficile de déboguer des procédures stockées ; 3. Il n'est pas facile de développer et de maintenir des procédures stockées ; 4. En raison des procédures de stockage qui lient l'application à la base de données, l'utilisation de procédures stockées pour encapsuler la logique métier limitera la portabilité de l'application.
L'environnement d'exploitation de ce tutoriel : système windows7, version mysql8, ordinateur Dell G3.
Introduction aux procédures stockées :
Stored Procedure (Stored Procedure) est un ensemble d'instructions SQL permettant d'exécuter des fonctions spécifiques, qui sont compilées et stockées dans la base de données. L'utilisateur exécute une procédure stockée en spécifiant son nom et en donnant des paramètres (si la procédure stockée a des paramètres).
1. Les procédures stockées ne sont compilées que lors de leur création. Il n'est pas nécessaire de recompiler chaque fois que la procédure stockée est exécutée à l'avenir. Généralement, les instructions SQL sont compilées une fois à chaque exécution, donc l'utilisation de procédures stockées peut s'améliorer. la vitesse d'exécution de la base de données.
2. Lors de l'exécution d'opérations complexes sur la base de données (telles que Mettre à jour, Insérer, Sélectionner, Supprimer sur plusieurs tables), cette opération complexe peut être encapsulée dans une procédure stockée et utilisée conjointement avec le traitement transactionnel fourni par la base de données.
3. Les procédures stockées peuvent être réutilisées, ce qui peut réduire la charge de travail des développeurs de bases de données.
4. Haute sécurité, vous pouvez définir que seul un certain utilisateur a le droit d'utiliser le processus stocké spécifié.
Avantages et inconvénients des procédures stockées MySQL
Avantages des procédures stockées MySQL
Les procédures stockées aident généralement à améliorer les performances de l'application. Une fois créée, la procédure stockée est compilée et stockée dans la base de données. Cependant, MySQL implémente les procédures stockées de manière légèrement différente. Les procédures stockées MySQL sont compilées à la demande. Après avoir compilé la procédure stockée, MySQL la place dans le cache. MySQL maintient son propre cache de procédures stockées pour chaque connexion. Si l'application utilise la procédure stockée plusieurs fois dans une seule connexion, utilisez la version compilée, sinon la procédure stockée fonctionne comme une requête.
Les procédures stockées aident à réduire le trafic entre l'application et le serveur de base de données car l'application n'a pas besoin d'envoyer plusieurs longues instructions SQL, mais uniquement le nom et les paramètres de la procédure stockée.
Les programmes stockés sont réutilisables et transparents pour n'importe quelle application. Les procédures stockées exposent l'interface de base de données à toutes les applications afin que les développeurs n'aient pas à développer des fonctionnalités déjà prises en charge dans les procédures stockées.
Les programmes stockés sont sécurisés. L'administrateur de base de données peut accorder les autorisations appropriées aux applications qui accèdent aux procédures stockées dans la base de données sans accorder aucune autorisation aux tables de base de données sous-jacentes.
En plus de ces avantages, les procédures stockées ont leurs propres inconvénients qu'il convient de noter avant de les utiliser dans une base de données.
Inconvénients des procédures stockées MySQL
Si vous utilisez un grand nombre de procédures stockées, l'utilisation de la mémoire de chaque connexion utilisant ces procédures stockées augmentera considérablement. De plus, si vous utilisez trop d'opérations logiques dans vos procédures stockées, l'utilisation du processeur augmentera également car le serveur de base de données n'est pas conçu pour les opérations logiques.
La construction de procédures stockées rend plus difficile le développement de procédures stockées avec une logique métier complexe.
Il est difficile de déboguer des procédures stockées. Seuls quelques systèmes de gestion de bases de données vous permettent de déboguer des procédures stockées. Malheureusement, MySQL n'offre pas la possibilité de déboguer les procédures stockées.
Développer et maintenir des procédures stockées n'est pas facile.
Mauvaise portabilité : étant donné que les procédures stockées lient l'application à la base de données, l'utilisation de procédures stockées pour encapsuler la logique métier limitera la portabilité de l'application.
Problème de recompilation, car le code back-end est compilé avant l'exécution, si les objets avec des relations de référence changent, les procédures stockées et les packages concernés devront être recompilés (mais il peut également être configuré pour s'exécuter automatiquement compilé) .
【Recommandations associées : tutoriel vidéo mysql】
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!