MySQLトランザクションが効率に与える影響の分析と概要

MySQLトランザクションが効率に与える影響の分析と概要

1. データベース トランザクションによりデータベースのパフォーマンスが低下します。データの一貫性と分離性を確保するには、トランザクションをロックする必要があります。

2. 他のトランザクションがこの部分のデータを操作する必要がある場合、最後のトランザクションが終了するまで待機する必要があります (コミット、ロールバック)。

テーブル acct を作成します (
    acct_no varchar(32)、
    acct_name varchar(32)、
    残高小数点(16,2)
);
 
アカウント値に挿入
    ('0001','ジェリー', 1000),
    ('0002'、'トム'、2000年);
 
start transaction; -- トランザクションを開始します update acct set balance = balance - 100 where acct_no = '0001'; -- 控除者をシミュレートします update acct set balance = balance + 100 where acct_no = '0002'; -- 受取人をシミュレートします commit; -- トランザクションのコミット rollback; -- トランザクションのロールバック

知識ポイントの拡張:

取引

  • 原子性: トランザクション全体のすべての操作は、正常にコミットされるか、失敗した場合はロールバックされます。
  • 一貫性: データベースをある一貫性のある状態から別の一貫性のある状態に変換するトランザクションを指し、トランザクションの開始前と開始後にデータベースの整合性が破壊されることはありません。
  • 分離: トランザクションがデータベース内のデータを変更し、変更が完了するまで他のトランザクションには表示されないことが必要です。
  • 永続性: トランザクションがコミットされると、そのトランザクションによる変更はデータベースに永続的に保存されます。この時点では、システムがクラッシュしても、送信された変更されたデータは失われません。

大企業

実行に時間がかかり、大量のデータを処理するトランザクション

  • ロックするデータが多すぎるため、ブロックやロックタイムアウトが頻繁に発生する
  • ロールバックには長い時間がかかります
  • 実行時間が長く、マスタースレーブ遅延が発生する可能性がある

大規模な取引を処理する方法:

  • 一度に大量のデータを処理しないようにする
  • トランザクションから不要な選択操作を削除する

これで、MySQL トランザクションが効率に与える影響に関するこの記事は終了です。MySQL トランザクションが効率に与える影響の詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • MySQL XA で分散トランザクションを実装する方法
  • MySQLクエリトランザクション処理へのノード接続の実装
  • MySQL データベース トランザクション例のチュートリアル
  • MySQL と Golan 間の従来の分散トランザクションのための 7 つのソリューション
  • MySQL トランザクション分離レベルの詳細
  • MySQLデータベースのトランザクションとインデックスの詳細な説明
  • MySQL トランザクション分析

<<:  Vue3+Vite+TS は、要素プラスビジネスコンポーネントの二次カプセル化を実装します sfasga

>>:  HTML テーブルレイアウト例の説明

推薦する

geoip を使用して nginx で地域を制限する方法

このブログは仕事のメモです環境: nginx バージョン: nginx/1.14.0 Centos ...

カラフルな時計効果を実現する JavaScript キャンバス

キャンバスを使ってカラフルな時計を書いてみよう! 1. タイトル(1)時計のケースが与えられ、ページ...

CentOS7 での mysql 5.7.23 のバイナリ インストール

インターネット上のインストール情報は不均一で、落とし穴だらけです。インストールにはかなりの労力がかか...

Reactのようなフレームワークをゼロから作成する

最近、インターネットで「Build your own React」という記事を見ました。著者は、シン...

JavaScript 配列の詳細な概要

目次1. 配列誘導1. 文字列を配列に分割する2. コレクションとマップを新しい配列に変換する3. ...

UTF8 でエンコードされた Web ページにファイルが含まれている場合の、ページの前の空白行の解決方法

<br />このページはUTF8エンコードを使用しており、ヘッダーとフッターはテンプレー...

いくつかのMySQL更新操作のケース分析

目次ケーススタディアカウント残高を更新する直接更新楽観的ロック方式ロックフリーソリューションキューイ...

WeChatアプレットが計算機機能を実装

WeChatミニプログラムはますます人気が高まっています。多くの大学生が独学で学んでいるのも見てきま...

WIN10 に複数のデータベースがインストールされている場合にコンピュータの速度低下を防ぐ方法

必要なときにサービスを有効にし、必要がないときは無効にします。データベース サービスを管理する方法:...

Element PlusはAffixを実装します

目次1. コンポーネントの紹介2. ソースコード分析2.1 テンプレート2.2 スクリプト2.3 実...

HTMLで特殊記号を表示する(特殊文字対応表付き)

問題の再現HTML を使用して編集する場合、特殊記号によってエラーが表示されることが多く、極端な場合...

MySQLデータベースのトランザクションとインデックスの詳細な説明

目次1. 事務:取引の 4 つの主な特徴:同時トランザクションはどのような問題を引き起こしますか? ...

Vue3.0のさまざまなリスニング方法の包括的な概要

目次リスナー1.ウォッチエフェクト2.見る1.1 聴くための最初の方法1.2 聞く2つ目の方法1.3...

ネイティブJavaScriptカルーセル実装方法

この記事では、JavaScriptカルーセルの実装方法を参考までに紹介します。具体的な内容は次のとお...