Maison > base de données > tutoriel mysql > le corps du texte

Quels sont les inconvénients des procédures stockées MySQL

青灯夜游
Libérer: 2022-04-12 16:54:37
original
2828 Les gens l'ont consulté

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.

Quels sont les inconvénients des procédures stockées MySQL

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!