Mysql- MyISAM多线程如何工作

时间:2016-05-04 06:45:37

标签: mysql myisam

多线程如何与MyISAM一起使用。因为它支持表级锁定? 如果我们请求从同一个表中选择。线程如何在这种情况下起作用

1 个答案:

答案 0 :(得分:0)

单独的连接获得单独的线程。单个连接不会使用多个线程。 (MyISAM和InnoDB)

当两个单独的连接(线程)尝试在“相同”时间访问同一个表时,会发生某种锁定。

SELECT获取一个读锁,它可以防止写入,但不能读取其他读取。 (MyISAM的)

INSERT和其他写入获取写锁定,防止任何(写入或读取)使用该表。 (MyISAM的)

当连接被阻止时,它会等待,然后最终运行。 (MyISAM的)

InnoDB具有行级锁定(并且没有表级锁定)允许更多的并发性,但还有其他复杂性。

没有充分理由,每个人都应该从MyISAM迁移到InnoDB。