mysqlテーブルロックと行ロックの違いは何ですか

青灯夜游
リリース: 2020-09-16 17:38:45
オリジナル
6500 人が閲覧しました

Mysql には、行ロック、テーブル ロック、読み取りロック、書き込みロックなど、操作前にすべてロックされるロック メカニズムが多数あり、これらのロックは総称して悲観的ロック (悲観的ロック) と呼ばれます。次の記事では、MySQL のロックを理解し、テーブル ロックと行ロックの違いを紹介します。

mysqlテーブルロックと行ロックの違いは何ですか

#ロックは、コンピュータが複数のプロセスまたはスレッドを調整してリソースに同時にアクセスするためのメカニズムです。データベースでは、コンピューティング リソース (CPU、RAM、I/O など) をめぐる従来の競争に加え、データは多くのユーザーによって共有されるリソースでもあります。データへの同時アクセスの一貫性と有効性をどのように確保するかは、すべてのデータベースが解決しなければならない問題です。ロックの競合も、データベースへの同時アクセスのパフォーマンスに影響を与える重要な要素です。この観点から見ると、ロックはデータベースにとって特に重要かつ複雑です。

mysql におけるテーブル ロックと行ロックの違い

行ロック

特徴:ロック 粒度が小さく、ロック競合の可能性が低く、同時処理能力が強いですが、オーバーヘッドが大きく、ロックが遅く、デッドロックが発生する可能性があります。

ロック方法: 自動ロック。 UPDATE、DELETE、および INSERT ステートメントの場合、InnoDB は関連するデータ セットに排他ロックを自動的に追加しますが、通常の SELECT ステートメントの場合、InnoDB はロックを追加しません。

テーブル ロック

特徴: 低いオーバーヘッド、高速なロック、デッドロックなし、ロックの粒度が大きい、ロック競合の可能性が高い、同時実行性が高い場合のパフォーマンスの低下

ロック方法:自動ロック。クエリ操作 (SELECT) は関連するすべてのテーブルに読み取りロックを自動的に追加し、更新操作 (UPDATE、DELETE、INSERT) は関連するテーブルに書き込みロックを自動的に追加します。

以上がmysqlテーブルロックと行ロックの違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!