2

LOAD DATA LOW_PRIORITY INFILEJavaからステートメントを実行したい。

MyISAMエンジンのみを扱っています。

statement.execute("LOAD DATA LOW_PRIORITY INFILE ...")このクエリを非同期で実行するのか、それともこのステートメントが完了するまでブロックするのか、興味があります。

ロードされたデータに基づくこのステートメントの後にSQL操作があるので、これを求めていますが、同時に実行されるこのテーブルの読み取り操作は、LOAD DATAステートメントよりも優先されることに関心があります。

4

1 に答える 1

2

LOAD DATA LOW_PRIORITY INFILE ...コマンドラインで完了するまでブロックするので、コードもブロックされると思います。

インポート中に同時トランザクションがテーブルから読み取れるようにする場合は、のCONCURRENT代わりにオプションを使用しますLOW PRIORITY

マニュアルに記載されているように:

同時挿入の条件を満たすMyISAMテーブルでCONCURRENTを指定すると(つまり、途中に空きブロックが含まれていない場合)、LOADDATAの実行中に他のスレッドがテーブルからデータを取得できます。

于 2013-01-23T17:37:27.743 に答える