この記事は、MySQL の MVCC の使用法を紹介します。一定の参考価値があります。必要な友人は参考にしてください。お役に立てれば幸いです。
MVCC (マルチバージョン同時実行制御)
機能: 多くの場合、ロック操作を回避し、オーバーヘッドを削減できます。 InnoDB
の
MVCC は、レコードの各行の背後にある 2 つの非表示列、行の作成時間と行の有効期限 (削除時間) を保存することによって実装されます。ここでの時間はシステムのバージョン番号を指しており、新しいことを開始するたびに、システムのバージョン番号が自動的に増加します。トランザクション開始時のシステム バージョン番号はトランザクションのバージョン番号として使用され、クエリされたレコードの各行のバージョン番号と比較するために使用されます。
REPEATABLE READ 分離レベルでの MVCC の特定の操作
SELECT
InnoDB は、現在のトランザクション バージョンより前のバージョンのデータ行のみを検索します(行システムのバージョン番号
行の削除されたバージョンは、未定義であるか、現在のバージョン番号より大きいです。これにより、トランザクションによって読み取られた行が、トランザクションの開始前に削除されなくなります。
上記の 2 つの条件を満たすレコードのみがクエリ結果を返すことができます。
INSERT
InnoDB は、現在のシステム バージョン番号を、新しく挿入された各行の行バージョン番号として保存します。
UPDATE
InnoDB は、新しいレコード行を挿入し、現在のシステム バージョン番号を行のバージョン番号として保存し、現在のシステム バージョン番号を元の行に保存します。行削除識別子として。
DELETE
InnoDB は、削除された各行の削除 ID として現在のシステム バージョン番号を保存します。
この記事はここで終了しました。その他のエキサイティングなコンテンツについては、PHP 中国語 Web サイトの MySQL チュートリアル ビデオ 列に注目してください。
以上がMySQL の MVCC の使い方の紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。