0

InnoDB 表中的锁定行被另一个用户调用 UPDATE 会发生什么?它是否等到它被解锁然后被另一个用户调用更新?因此,用户页面将等到解锁,然后执行,包括延迟其他用户显示页面?

我有一个人们可以上传图片的网站和一个只有 1 行的表格,其中包含当前上传的图片数量(以及文件夹名称“1”、“2”等),其中一个文件夹可以容纳一定数量的图片(比如 7000)...这就是它们增加的原因。

我很好奇我的剧本是否正确。

表中基本上有 1 行(mya_pictures),其中有一列用于当前使用的文件夹(“1”、“2”、“3”...)和当前文件夹中的当前图片数量(不能超过 7000 - 该文件夹中的最大文件数)....

一旦文件成功上传,文件的增量是通过 UPDATE 完成的。我想知道在多用户环境中这是否会很好。

谢谢

4

1 回答 1

1

根据文档:

如果第二个事务想要更新行或锁定已被先前事务以不兼容模式锁定的表,InnoDB 会将该行的锁定请求添加到相应的队列中。对于要由事务获取的锁,必须删除先前进入该行或表的锁队列的所有不兼容的锁请求(持有或请求这些锁的事务提交或回滚)。

您可以在此处阅读有关 Innodb 锁定的信息:

http://dev.mysql.com/doc/refman/5.0/en/innodb-lock-modes.html

http://dev.mysql.com/doc/refman/5.0/en/innodb-lock-modes.html

〜K

于 2013-06-25T10:14:49.960 回答