1

読み取りたいInnoDBテーブルがいくつかあるデータベースがあり、データをXML形式にダンプします。このようなXMLは、オブジェクトとそれに関連するすべてのオブジェクトを表します。

読み取りプロセス(SELECT、SELECT、不正なINSERT、SELECTなど)の途中でINSERTを実行したくないのは、データの不整合が発生するためです。どのタイプのトランザクションを使用する必要がありますか?START TRANSACTIONとの違いがはっきりわかりませんSTART TRANSACTION WITH CONSISTENT SNAPSHOT

4

1 に答える 1

6

これは、INNODBのトランザクションスナップショットの優れたケースのようです。WITH CONSISTENT SNAPSHOTの違いはそれほど重要ではありません。スナップショットがトランザクションの開始時に取得されるか、最初の読み取り時に取得されるかを制御するだけです。

重要なのは、REPEATABLE_READ分離レベルで実行する必要があるということです。これがデフォルトのレベルです。

他のプログラムは、必要な数のレコードを挿入または更新する場合がありますが、スナップショットからバージョンを取得できます。

http://dev.mysql.com/doc/refman/5.0/en/innodb-consistent-read.htmlを参照してください

于 2014-01-28T21:38:06.940 に答える