MyISAM エンジンのトランザクション サポートについて
質問:
MyISAM テーブルは InnoDB テーブルのようなトランザクションをサポートできますか
答え:
MyISAM は、InnoDB とは異なり、MySQL の非トランザクション ストレージ エンジンです。ただし、トランザクション コマンドに関しては驚くべき動作をします。
説明:
-
自動コミット モード: MyISAM自動コミット モードで動作します。つまり、すべてのステートメントが即座に実行され、データベース。
-
無視されるトランザクション コマンド: MyISAM テーブルでトランザクション コマンド (START TRANSACTION、COMMIT、ROLLBACK) が検出された場合、それらは単に無視されます。
-
トランザクション不足の理由: MyISAM テーブルは、パフォーマンスと速度を重視して設計されています。トランザクションによりオーバーヘッドが発生し、同時実行性が制限される可能性があります。
-
ストレージ エンジン通信: SQL パーサーは、低レベル API を介して MyISAM などのストレージ エンジンと通信します。これにより、共通の SQL 構文が可能になりますが、エンジンは機能を異なる方法で実装します。
以上がMyISAM はトランザクションをサポートしていますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。