Mysql- MyISAM 多线程的工作原理
Mysql- MyISAM how Multi threading works
多线程如何与 MyISAM 一起工作。因为它支持 Table 级锁定?
如果我们从同一个 table 请求 select。在这种情况下线程是如何工作的
单独的连接获得单独的线程。单个连接不会使用多个线程。 (MyISAM 和 InnoDB)
当两个单独的连接(线程)试图在 "same" 时访问同一个 table 时,会发生某种锁定。
SELECT
获取读锁,这会阻止写入,但不会阻止其他读取。 (MyISAM)
INSERT
和其他写操作获取一个写锁,防止任何东西(写或读)与 table 一起工作。 (MyISAM)
当连接被阻塞时,它会等待,然后最终运行。 (MyISAM)
InnoDB,其行级锁定(没有 table 级锁定)允许更高的并发性,但具有其他复杂性。
没有充分的理由,每个人都应该从 MyISAM 转移到 InnoDB。
多线程如何与 MyISAM 一起工作。因为它支持 Table 级锁定? 如果我们从同一个 table 请求 select。在这种情况下线程是如何工作的
单独的连接获得单独的线程。单个连接不会使用多个线程。 (MyISAM 和 InnoDB)
当两个单独的连接(线程)试图在 "same" 时访问同一个 table 时,会发生某种锁定。
SELECT
获取读锁,这会阻止写入,但不会阻止其他读取。 (MyISAM)
INSERT
和其他写操作获取一个写锁,防止任何东西(写或读)与 table 一起工作。 (MyISAM)
当连接被阻塞时,它会等待,然后最终运行。 (MyISAM)
InnoDB,其行级锁定(没有 table 级锁定)允许更高的并发性,但具有其他复杂性。
没有充分的理由,每个人都应该从 MyISAM 转移到 InnoDB。