我在InnoDB表上使用LOAD DATA INFILE
,我在SHOW PROCESSLIST
中看到“系统锁定”状态。在这种情况下,InnoDB究竟锁定了什么?如何检查锁定的内容?
答案 0 :(得分:6)
您的问题分为两部分:LOAD DATA INFILE
实际锁定InnoDB的内容是什么,以及如何检查锁定。
LOAD DATA INFILE
命令基本上只是一种更有效的方式来执行多行INSERT
,它将锁定与INSERT
完全相同的内容。在处理LOAD DATA INFILE
时,对于要加载的表中的每个索引,正在加载的行中的键被锁定为独占行锁。
当LOAD DATA INFILE
正在运行时,您将能够看到有关其与SHOW ENGINE INNODB STATUS
锁定的一些整体统计信息。如果您启用InnoDB lock monitor,则可以查看有关每个锁定的详细信息(最多一点)。