繁体   English   中英

Mysql:联接表是否在插入时被锁定?

[英]Mysql: Are join tables locked on insert?

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

-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事务中运行。

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM