MySQL の MVCC の使い方の紹介

不言
リリース: 2019-03-22 11:30:51
転載
4082 人が閲覧しました

この記事は、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 までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート