MyISAM でのトランザクション サポート: アクションを無視するか実行しますか?
InnoDB テーブルでのトランザクション サポートを調べていると、MyISAM でのトランザクション サポートの動作について疑問に思うかもしれません。 。驚くべきことに、MyISAM テーブルで同じトランザクションを実行することも機能するようです。ただし、この場合に実際に何が起こるかについて疑問が生じます。
MyISAM のトランザクション処理
InnoDB とは異なり、MyISAM は非トランザクション エンジンです。これは自動コミット モードで動作します。つまり、各クエリは個別にコミットされます。この動作は、START TRANSACTION、COMMIT、ROLLBACK 操作にも適用されます。
アクションを無視しますか?
質問に答えると、MyISAM はこれらのトランザクション コマンドを無視します。それらに基づいて特定のアクションは実行されません。トランザクション内のクエリは引き続き順次実行されますが、アトミック単位として扱われません。
アーキテクチャの観点
ストレージ エンジンは、MySQL のアーキテクチャにおける個別のレイヤーです。 、SQL パーサーから分離されました。 SQL レイヤーは、下位レベルの API を使用してストレージ エンジンと通信します。この分離により、機能の異なるサブセットをサポートするエンジンであっても、エンジン全体で共通の SQL セマンティクスが可能になります。
以上がMyISAM はトランザクションをサポートしますか? 無視または実行しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。