mysql加载数据infile系统锁状态

时间:2013-10-06 08:08:16

标签: mysql locking

mysql中的

有没有办法“加载数据infile”而不锁定或检查表锁? 我有其他进程读取同一个表,我想在此表中执行“加载数据infile”。

1 个答案:

答案 0 :(得分:0)

如果表是InnoDB(支持行级锁定),并且表是正确索引的,则默认情况下应该可以对预先存在的行进行并发读取。

如果表格是MyISAM,那么CONCURRENT选项可能会有所帮助:

  

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

如果以上都不起作用,那么您可以将输入文件拆分为较小的部分并连续加载每个部分。这样,将在每批之间处理并发(阻塞)读取,从而减少其等待时间。但是使用此选项,您需要获取地址数据完整性问题(即:在整个批量加载操作完成之前,是否允许并发读取访问部分加载的数据?)