ホームページ > データベース > mysql チュートリアル > MySQL におけるロックの必要性と分類の概要

MySQL におけるロックの必要性と分類の概要

不言
リリース: 2018-10-17 16:58:01
転載
2623 人が閲覧しました

この記事では、MySQL におけるロックの必要性と分類について説明します。必要な方は参考にしていただければ幸いです。

ユーザーのアクセス数が増加すると、データベースがシステムのパフォーマンスのボトルネックになることがよくありますが、パフォーマンスのボトルネックだけでなく、データのセキュリティもこの時点で非常に重要になります。必要。

同時実行によって発生するデータ セキュリティの問題は、主にダーティ リーディング、ファントム リーディング、非反復読み取りの 3 つの側面に分けられます。

1 ダーティー リーディングは、トランザクション読み取り 別のトランザクションからコミットされていないデータが取得されました。

时间线  事务1                               事务2
  1    begin;                                  
  2    select * from lock where id = 1;
  3                                       begin;
  4                                       update lock set name='dirty';
  6    select * from lock where id = 1;
  7    commit;                            commit;
ログイン後にコピー

2. ファントム読み取り

ファントム読み取りとは、あるトランザクションが別のトランザクションによって挿入されたデータを読み取ることです

#
时间线       事务1                            事务2
   1        begin;
   2        select * from lock where id > 1;
   3                                        begin;
   4                                        insert lock select 2;
   5                                        commit;
   6        select * from lock where id > 1;
   7        commit;
ログイン後にコピー

3。
##反復不可能な読み取りとは、統合データを複数回読み取ることによって返される結果に一貫性がないことを意味します。ダーティ リードとは異なり、これは送信済みのデータを読み取ります。ファントム リードとは異なり、データを更新しますが、ファントム リードはデータを挿入します。

时间线   事务1                            事务2
        begin;
        select * from lock where id = 1;
                                        begin;
                                        update lock set name='non-rr';
                                        commit;
        select * from lock where id = 1;
        commit;
ログイン後にコピー
MySQL はトランザクションを分離することで上記 3 つの問題を解決します

4 つの分離レベルがあります

隔离级别           脏读   幻读   不可重复读
未提交读(RUC)       是     是      是
已提交读(RC)        否     是      是
可重复读(RR)        否     是      否
可串行化            否     否      否
ログイン後にコピー
MySQL はロック メカニズムを通じてトランザクション分離を実装します


分類ロックの数は次のとおりです

#

以上がMySQL におけるロックの必要性と分類の概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:segmentfault.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート