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

Une brève introduction aux procédures stockées et aux transactions MySQL

小云云
Libérer: 2017-11-22 10:42:17
original
1966 Les gens l'ont consulté

La procédure stockée est une série d'instructions SQL. Selon les paramètres entrants (ou non), via de simples appels,
exécute des fonctions plus complexes qu'une seule instruction SQL. Elle est stockée sur le serveur de base de données et n'en a besoin que. Après avoir compilé une fois, vous n'avez pas besoin de le compiler à nouveau si vous l'utilisez à nouveau. Contrôle principalement le processus stocké.
Une transaction est une série d'opérations de modification de données dans leur ensemble. Une fois qu'une opération incluse dans la transaction échoue ou est abandonnée par l'utilisateur, l'utilisateur peut contrôler l'annulation de toutes les opérations dans le corps de la transaction et revenir à l'état avant le début de la transaction.
Les opérations de la transaction forment un tout, soit réalisées dans leur ensemble, soit pas réalisées du tout. Cela garantit l’intégrité des données.
Dans Mysql, le moteur de stockage MyISAM ne prend pas en charge les transactions, contrairement à InnoDB.
Les deux sont des connaissances très importantes dans la base de données.

Procédure stockée :

Avantages :

1. Surtout pour une logique plus complexe, cela réduit la consommation de trafic réseau. Un autre point important est que la procédure stockée n'est compilée que lors de sa création. Il n'est généralement pas nécessaire de recompiler chaque fois que la procédure stockée est exécutée ultérieurement. Les instructions sont compilées à chaque fois qu'elles sont exécutées. Elles sont compilées une seule fois, donc l'utilisation de procédures stockées peut améliorer la vitesse d'exécution de la base de données. .

2. Améliorer l'efficacité du travail. L'écriture d'un programme est simple, en utilisant la classe d'appel de procédure stockée, et l'appel d'une procédure stockée ne nécessite que 1 à 2 lignes de code.

3. Conception de programme standardisée, facile à mettre à niveau et à entretenir.

4. Améliorer la sécurité du système. Vous pouvez définir que seul un certain utilisateur a le droit d'utiliser la procédure stockée spécifiée.

Les projets avec un petit volume de données ou qui n'ont rien à voir avec l'argent peuvent fonctionner normalement sans procédures stockées. Les procédures stockées de MySQL n'ont pas encore été testées. S'il s'agit d'un projet formel, il est recommandé d'utiliser les procédures stockées SQL Server ou Oracle. Si vous traitez des données, le processus sera beaucoup plus rapide que le programme.

Inconvénients :

Une partie des fonctions du programme a été déplacée dans la base de données, détruisant la conception de la structure à trois niveaux du CVM

Transaction :

Transaction Il peut y avoir des procédures stockées dans des procédures stockées et il peut y avoir des transactions dans des procédures stockées.

Quand est-il approprié d’utiliser des procédures stockées ?

1. Lorsqu'une entreprise traite plusieurs tables en même temps, il est plus approprié d'utiliser des procédures stockées.

2. Utilisez des procédures stockées pour le traitement de données complexes, comme certains traitements de rapports.

3. Requête conjointe avec plusieurs conditions et plusieurs tables, et effectuer un traitement de pagination.

Quand est-il approprié d'utiliser les transactions ?

Chaque fois qu'une transaction est utilisée, elle consommera un certain montant de frais généraux. De plus, les transactions peuvent verrouiller certaines lignes du tableau. Par conséquent, les transactions inutiles entraînent une perte de performances. Il y a une règle ici, n'utilisez les transactions que lorsque l'opération l'exige. Par exemple, si vous interrogez simplement certains enregistrements de la base de données ou exécutez une seule requête, vous n'avez la plupart du temps pas besoin d'une transaction explicite, car les déclarations sont déjà encapsulées dans la transaction implicite. Cependant, comme mentionné précédemment, cela est très important lors de la mise à jour de plusieurs instructions, car les transactions peuvent réellement accélérer l'opération. De même, s'il y a le choix entre économiser quelques millisecondes ou compromettre l'intégrité des données, la bonne réponse est de garder les données propres et de ne pas se soucier de ces millisecondes.

De plus, vous devez faire attention avant d'utiliser des transactions : gardez les transactions aussi courtes que possible. Évitez d'utiliser les retours SELECT dans une transaction, sauf si l'instruction dépend des données renvoyées. Si vous utilisez une instruction SELECT, sélectionnez uniquement les lignes dont vous avez besoin, évitant ainsi de verrouiller trop de ressources tout en conservant les performances les plus élevées possibles. Dans le cas d'un ordre architectural des mots, supprimez toutes les instructions SELECT de la transaction. Cela est dû au fait que la transaction verrouillera toutes les lignes de données exploitées pendant le traitement, ce qui affectera l'exécution d'autres instructions SQL simultanées.

Ce qui précède est la différence entre les procédures stockées MySQL et les choses. J'espère que cela sera utile à tout le monde.

Recommandations associées :

Introduction détaillée à la procédure stockée

Pourquoi utiliser la procédure stockée MySQL ? Introduction à la procédure stockée MySQL

Utiliser simultanément différentes tables de base de données, prend-elle en charge les choses, solution 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!