Nous devons comprendre les avantages, les inconvénients et les limites de l'utilisation des déclencheurs MySQL afin de les utiliser efficacement.
Avantages
Voici les avantages de l'utilisation des déclencheurs MySQL :
-
Intégrité des données -Avec l'aide des déclencheurs MySQL, nous pouvons vérifier l'intégrité des données dans la table. En d’autres termes, les déclencheurs MySQL constituent un moyen alternatif de vérifier l’intégrité des données.
-
Catch Errors -Les déclencheurs MySQL peuvent détecter les erreurs de logique métier dans la couche de base de données.
-
Moyens alternatifs d'exécuter des tâches planifiées -En fait, en utilisant les déclencheurs MySQL, nous n'avons pas besoin d'attendre que les tâches planifiées s'exécutent, car les déclencheurs se déclencheront automatiquement avant ou après que les données de la table soient modifié.
-
Audit -En fait, les déclencheurs MySQL sont très utiles pour auditer les modifications apportées aux tables.
-
Prévenir les transactions invalides-Les déclencheurs MySQL sont très utiles pour empêcher les transactions invalides.
-
Journalisation des événements -Les déclencheurs MySQL peuvent enregistrer des événements et également stocker des informations sur les accès aux tables.
Inconvénients
Voici les inconvénients de l'utilisation des déclencheurs MySQL :
-
Impossible de remplacer toutes les validations -En fait, les déclencheurs MySQL ne peuvent pas remplacer toutes les validations et ne peuvent fournir que une validation étendue.
-
Invisible pour l'application client -Fondamentalement, les déclencheurs MySQL ne sont pas visibles lorsqu'ils sont appelés et exécutés dans l'application client, il est donc difficile de comprendre ce qui se passe au niveau de la couche de base de données.
-
Places Load on Server -Les déclencheurs peuvent imposer une charge importante sur le serveur de base de données.
-
Ne convient pas aux données à haut débit -Les déclencheurs ne conviennent pas aux données à haut débit, c'est-à-dire les données avec un nombre élevé d'événements par seconde. En effet, dans le cas de données à haut débit, la bascule sera déclenchée à tout moment.
Limitations
Voici quelques limitations qui s'appliquent aux déclencheurs MySQL :
-
Un seul déclencheur par occasion/événement -Un seul déclencheur par combinaison occasion/événement et par déclencheur de table (c'est-à-dire que nous ne pouvons pas définir deux déclencheurs BEFORE INSERT pour la même table).
-
Instruction RETURN non autorisée -Étant donné que les déclencheurs ne renvoient aucune valeur, l'instruction RETURN n'est pas autorisée.
-
Restrictions de clé étrangère -Les déclencheurs ne seront pas activés par les opérations de clé étrangère.
-
Métadonnées obsolètes - En supposant qu'un déclencheur soit chargé dans le cache, il ne se rechargera pas automatiquement lorsque les métadonnées de la table changent. Dans ce cas, le déclencheur peut fonctionner avec des métadonnées obsolètes.
-
Impossible d'utiliser l'instruction CALL -Nous ne pouvons pas utiliser l'instruction CALL dans le déclencheur.
-
Impossible de créer une table ou une vue temporaire -Nous ne pouvons pas créer de vue pour une table ou une vue temporaire.
-
ne sera pas activé par les modifications apportées aux tables INFORMATION_SCHEMA - En fait, le déclencheur ne sera pas activé par les modifications apportées aux tables INFORMATION_SCHEMA ou performance_schema. En effet, ces tables sont des vues et les déclencheurs ne sont pas autorisés sur les vues.
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!