この記事では面接に焦点を当てています 面接では要点を答えるだけで十分です フレームワークについてあまり深く答える必要はありません 面接に対応できれば十分です 要点を押さえましょうポイント。
インタビュアー: MySQL トランザクションの原理は何ですか?
MySQL トランザクションの原則は、ACID (原子性、一貫性、分離性、耐久性) の特性に基づいており、具体的な原則は次のとおりです。
-
アトミック性: トランザクションの最小実行単位はアトミック操作であり、すべての実行が成功するか、すべてのロールバックが失敗します。トランザクションが開始される前に、MySQL はトランザクションに一意の識別子を割り当て、トランザクションの開始ステータスを Undo ログに記録します。トランザクション内のすべての操作は、ロールバックまたはリカバリ操作で使用するために、REDO ログと UNDO ログに記録されます。
-
一貫性: データベースの状態は、トランザクション実行の前後で一貫性を保つ必要があります。MySQL は、すべての変更操作を複数の段階に分割することで一貫性を実現します。変更操作を実行する前に、他のトランザクションが同じデータを同時に変更できないように関連するデータがロックされ、データの不整合の問題が回避されます。
-
分離: MySQL は複数の分離レベル (コミットされていない読み取り、コミットされた読み取り、反復可能な読み取り、およびシリアル化) をサポートし、分離レベルを通じてトランザクション間の可視性と同時実行性の動作を制御します。MySQL は、ロックや MVCC などの同時実行制御メカニズムを使用して分離を実現します。ロック メカニズムは、複数のトランザクションが同じデータを同時に変更することを防ぎ、MVCC メカニズムは読み取り操作のスナップショット ビューを実装して、読み取り操作が他のトランザクションの影響を受けないようにすることができます。