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

MySQL doit-il s'engager ?

(*-*)浩
Libérer: 2019-05-11 09:23:56
original
3577 Les gens l'ont consulté

Le fait que MySQL nécessite une validation lors de l'exécution d'opérations telles que l'insertion dépend de votre moteur de stockage qui ne prend pas en charge les transactions, telles que myisam, la validation ne sera pas efficace.

Cours recommandé : Tutoriel MySQL.

S'il s'agit d'un moteur qui prend en charge les transactions, tel qu'innodb, vous devez savoir si votre transaction prend en charge la soumission automatique des transactions (c'est-à-dire la validation)

Pour voir si votre base de données est automatiquement validé, vous pouvez utiliser mysql> show variables comme '%autocommit%' pour afficher, s'il est désactivé, il ne sera pas automatiquement validé et une opération de validation manuelle est requise (la ligne de commande peut directement "commit;") , sinon il sera automatiquement validé.

MySQL doit-il s'engager ?

Il existe trois types de données soumises : la soumission explicite, la soumission implicite et la soumission automatique.

Ces trois types sont expliqués ci-dessous.

Soumission explicite

La soumission réalisée directement à l'aide de la commande COMMIT est une soumission explicite.

Soumission implicite

Une soumission effectuée indirectement à l'aide de commandes SQL est une soumission implicite. Ces commandes sont :

ALTER, AUDIT, COMMENT, CONNECT, CREATE, DISCONNECT, DROP, EXIT, GRANT, NOAUDIT, QUIT, REVOKE, RENAME.

Soumission automatique

Si AUTOCOMMIT est défini sur ON, une fois les instructions d'insertion, de modification et de suppression exécutées, le système

fera automatiquement un commit, qui est un commit automatique. Le format est : SQL>SET AUTOCOMMIT ON

Soyez prudent lorsque vous utilisez ces deux commandes COMMIT / ROLLBACK. COMMIT/ROLLBACK sont utilisés après l'exécution d'instructions DML (INSERT/DELETE/UPDATE/SELECT). Une fois l'instruction DML exécutée, les données traitées seront placées dans le segment d'annulation (à l'exception de l'instruction SELECT), en attendant que l'utilisateur effectue une validation (COMMIT) ou une restauration (ROLLBACK). Lorsque l'utilisateur exécute COMMIT/ROLLBACK, ce sera le cas. être placé dans le segment de restauration. Les données du segment seront supprimées. (Une fois l'instruction SELECT exécutée, les données sont stockées dans le pool partagé. Lorsque vous fournissez les mêmes données à d'autres personnes pour les interroger, elles sont extraites directement du pool partagé sans avoir à les extraire de la base de données, ce qui améliore la vitesse de traitement des données. requête.)

Toutes les instructions DML doivent être soumises explicitement, c'est-à-dire que COMMIT doit être exécuté après l'exécution de l'instruction DML. D'autres, comme les déclarations DDL, sont soumises implicitement. En d'autres termes, après avoir exécuté ces instructions non-DML, la base de données a déjà effectué une validation implicite, telle que CREATE TABLE. Après l'exécution du script, la table a été créée et vous n'avez plus besoin d'effectuer une validation explicite.

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!