LOAD DATA LOW_PRIORITY是异步执行的吗?

时间:2013-01-23 16:31:09

标签: java mysql myisam load-data-infile

我希望从Java执行LOAD DATA LOW_PRIORITY INFILE语句。

我只处理MyISAM引擎。

我感兴趣的是statement.execute("LOAD DATA LOW_PRIORITY INFILE ...")将异步执行此查询,还是会阻止此语句完成。

我问这个,因为我在此语句之后有基于加载数据的SQL操作,但我仍然感兴趣的是,对此表执行的任何读操作同时执行将优先于LOAD DATA语句

1 个答案:

答案 0 :(得分:2)

LOAD DATA LOW_PRIORITY INFILE ...阻止直到命令行完成,所以我假设你的代码也会阻塞。

如果您希望并发交易能够在导入期间从您的表中读取,那么您希望使用CONCURRENT选项而不是LOW PRIORITY

如上所述in the manual

  

如果使用满足的MyISAM表指定CONCURRENT   并发插入的条件(即,它不包含空闲块   在中间),其他线程可以从表中检索数据   LOAD DATA正在执行。