【发布时间】:2013-10-05 13:41:47
【问题描述】:
我在 Linux 系统上使用 Percona MySQL 5.5.28 MySQl 服务器,带有 ext4 文件系统和 23 GB 内存,其中大约 15 GB 分配给 MySQL.... 我发起了一个类似下面的查询
INSERT IGNORE INTO table_A SELECT field1,field2,....fieldn FROM table_B;
上面的查询是锁table_B.... 由于我稍后在 table_B 上触发的更改查询被锁定。
以上两个表是 Innodb 的,我的整个 db 操作只是 Innodb 存储引擎而已.....
谁能告诉我为什么 MySQL 锁定 table_B 已经锁定在这里?
如果可能,请告诉我何时以及哪些查询会锁定 MySQL 中的表?
【问题讨论】:
-
我之前读过这篇文章,但我的问题是为什么 table_B 被锁定...只有 3 个线程连接一个是我的(root)另一个正在执行 alter,另一个正在执行 INSERT IGNORE...SELECT.. .请帮帮我