タグ

トランザクションに関するluccafortのブックマーク (3)

  • MySQLの同期レプリケーションで複数の更新クエリを1トランザクション内で発行すると速くなるケース - ゆううきメモ

    っていう話をいちりんちゃんこと id:ichirin2501 に聞いた。 MySQLで準同期レプリケーションまたは同期レプリケーションを使って、マスター・スレーブ構成で運用している場合、マスターはコミット後、スレーブが更新イベントを受け取ってログに書き込むまで待つようになる。 ところが、例えばRDSでMulti AZ配置するケースのように、マスター・スレーブ間のネットワーク遅延が大きい場合、スレーブがイベントを受け取るまでのレイテンシが大きくなるので、準同期レプリケーションで性能が落ちることがある。 このとき、AUTOCOMMITを有効にして更新クエリごとにコミットしているケースと比較して、明示的に複数の更新クエリを1つのトランザクション内で発行させると、性能が向上するケースがある。なぜなら、スレーブが更新イベントをまとめて受け取るようになり、1リクエスト内の一連のクエリ実行に要するマスタ

    MySQLの同期レプリケーションで複数の更新クエリを1トランザクション内で発行すると速くなるケース - ゆううきメモ
    luccafort
    luccafort 2017/04/10
    "1リクエスト内の一連のクエリ実行に要するマスター・スレーブ間のイベント往復回数が減るためだ。"説明されるとなるほど、そらそうだなとなるがこういうのって意外と気づかないんだよなあ。
  • MySQLでトランザクションの4つの分離レベルを試す - FAT47の底辺インフラ議事録

    トランザクションとは 1つの作業単位として扱われるSQLクエリの集まりです。 複数のUPDATEやINSERTをひとつの集まりとして、 それらのクエリがすべて適用できた場合のみデータベースに反映します。 ひとつでも適用に失敗したクエリがあった場合は、そのまとまりすべてのクエリの結果は反映しません。 ACID特性 トランザクション処理に求められる4つの特性です。 原子性 (Atomicity) トランザクションに含まれる手順が「すべて実行されるか」「すべてされないか」のどちらかになる性質。 一貫性 (Consistency) どんな状況でもトランザクション前後でデータの整合性が矛盾なく保たれる性質。 分離性 (Isolation) トランザクション実行中は、処理途中のデータは外部から隠蔽されて他の処理に影響を与えない性質。 永続性 (Durability) トランザクションが完了したら、シス

    MySQLでトランザクションの4つの分離レベルを試す - FAT47の底辺インフラ議事録
  • 1