我希望LOAD DATA LOW_PRIORITY INFILE
从 Java 执行语句。
我只处理 MyISAM 引擎。
我很感兴趣是否statement.execute("LOAD DATA LOW_PRIORITY INFILE ...")
会异步执行这个查询,或者它会阻塞直到这个语句完成。
我之所以问这个问题,是因为在此语句之后我有基于加载数据的 SQL 操作,但我仍然感兴趣的是,该表上同时执行的任何读取操作都将比LOAD DATA
语句具有更高的优先级。
我希望LOAD DATA LOW_PRIORITY INFILE
从 Java 执行语句。
我只处理 MyISAM 引擎。
我很感兴趣是否statement.execute("LOAD DATA LOW_PRIORITY INFILE ...")
会异步执行这个查询,或者它会阻塞直到这个语句完成。
我之所以问这个问题,是因为在此语句之后我有基于加载数据的 SQL 操作,但我仍然感兴趣的是,该表上同时执行的任何读取操作都将比LOAD DATA
语句具有更高的优先级。
LOAD DATA LOW_PRIORITY INFILE ...
阻塞直到在命令行上完成,所以我假设你的代码也会阻塞。
如果您希望并发事务能够在导入期间从您的表中读取,那么您希望使用该CONCURRENT
选项而不是LOW PRIORITY
.
如手册所述:
如果您对满足并发插入条件的 MyISAM 表指定 CONCURRENT(即,它中间不包含空闲块),则其他线程可以在执行 LOAD DATA 时从表中检索数据。