mysql如何处理删除和同时选择查询?

时间:2014-02-26 09:42:19

标签: mysql select

我对于处理删除和同时选择查询的mysql处理程序有些困惑。我需要知道删除查询是否在表上运行,同时select也在运行该表,甚至同一行。

2 个答案:

答案 0 :(得分:0)

MySql使用内部锁定机制。请检查以下链接还检查MySql中的锁定机制。

http://dev.mysql.com/doc/refman/5.6/en/internal-locking.html

答案 1 :(得分:0)

如果delete语句不是事务的一部分,那么引擎(大多数mysql引擎)将锁定相关的行,直到执行delete语句。

如果删除语句是正在进行的事务的一部分,则使用事务隔离级别确定访问该记录的能力。

事务隔离级别确定在提交事务之前,其他会话是否可以访问受事务语句影响的数据(在您的情况下为delete) 如果隔离级别被读取并且事务尚未提交,则事务块外部的任何select语句将检索旧数据,并且在提交事务之后,select将检索新数据。

有关隔离级别的更多详细信息,请查看此内容 http://dev.mysql.com/doc/refman/5.1/en/set-transaction.html