ホームページ  >  記事  >  データベース  >  MySQL の MVCC の使い方の紹介

MySQL の MVCC の使い方の紹介

不言
不言転載
2019-03-22 11:30:514080ブラウズ

この記事は、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 サイトの他の関連記事を参照してください。

声明:
この記事はsegmentfault.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。