2013-01-23 34 views
1

我希望執行來自Java的LOAD DATA LOW_PRIORITY INFILE聲明。LOAD DATA LOW_PRIORITY是異步執行的嗎?

我只處理MyISAM引擎。

我很感興趣,如果statement.execute("LOAD DATA LOW_PRIORITY INFILE ...")將異步執行此查詢,或將阻塞,直到此語句將完成。

我在問這個,因爲我在這個語句之後有基於加載數據的SQL操作,但是我仍然感興趣的是對這個表執行的任何讀操作將比LOAD DATA語句具有更高的優先級。

回答

1

LOAD DATA LOW_PRIORITY INFILE ...塊直到命令行完成,所以我假設你的代碼也會阻塞。

如果希望併發事務能夠在導入期間從表中讀取,那麼您希望使用CONCURRENT選項而不是LOW PRIORITY

如前所述in the manual

如果指定一致與滿足 條件並行插入(即,它包含在中間沒有空閒塊 )MyISAM表,其他線程可以檢索數據從表中刪除 LOAD DATA正在執行。

+0

謝謝,我希望它在您回答LOW_PRIORITY時阻止 – Michael