Mysql:连接表是否锁定在插入?

时间:2014-12-22 10:03:01

标签: mysql ruby-on-rails join transactions locking

我有一个查询将一些数据插入表中。该查询具有到另一个表的连接。 在查询运行时是否会锁定其他表?

-e -

这是一个类似我使用的查询:

INSERT INTO table_1
SELECT    t3.first_row,
          t3.second_row
FROM      table_2 t2
          INNER JOIN
          table_3 t3
          ON t2.t3_fk = t3.id
WHERE t3.id IN (1, 2, 3, 4)
AND   t2.created_at  <= '2014-12-21 22:59:59'

查询正在rails事务中运行。

2 个答案:

答案 0 :(得分:0)

插入时会被锁定。通过交易进行插入会更好。

答案 1 :(得分:0)

我找到了解决方案。将transaction-isolation =设置为&#34; READ-COMMITTED&#34;时,read语句不会锁定表。

请参阅:http://harrison-fisk.blogspot.ch/2009/02/my-favorite-new-feature-of-mysql-51.html