使用FORCEINDEX防止Insert into select 锁表

    |     2020年9月3日   |   学习偶记   |     评论已关闭   |    2220

INSERT INTO 表1 SELECT * FROM 表2 FORCEINDEX (idx_表2的where列名)WHERE 列名条件。

比如 表2的where acTime > ‘2010-10-01’ ,这个acTime必须做个索引。

原因:

全表扫描,也就意味着在执行 insert into select from 语句时,MySQL 会从上到下扫描表2内的记录并且加锁,相当于全表加锁,如果这时表2还有操作,就会失败。

噢!评论已关闭。