【发布时间】:2012-08-21 15:16:49
【问题描述】:
我通过 PHP PDO 接口对 MySQL 事务进行了广泛的研究。我对事务方法的实际背景工作仍然有些模糊。具体来说,我需要知道是否有任何理由要阻止从脚本开头到结尾的事务中的所有查询(包括选择)?当然,处理事务中的任何错误并在需要时回滚它们。
我想知道在事务期间是否有任何锁定,如果有,是否是行级锁定,因为它是 InnoDB?
【问题讨论】:
-
我不是专家,所以会发表评论而不是回答,但我认为这取决于您在交易中所做的事情。如果您要更新单行,则该行将被锁定。如果您要删除一个表,该表将是(假设底层提供程序支持它)拥有单个页面长事务的缺点是明显您锁定的任何内容都会导致其他页面等待,从而有效地使您的服务器单线程如果它正在做很多需要锁的工作。
标签: php mysql transactions pdo innodb