InnoDB表中的锁定行会发生什么情况,由另一个用户调用UPDATE? 是否等待它被解锁然后被其他用户呼叫更新?因此,用户页面将等待直到解锁,然后执行,包括其他用户显示页面的延迟?
我有一个人们可以上传图片的网站,以及一个只有1行的表格,其中包含当前上传的图片数量(以及文件夹名称“1”,“2”等),其中一个文件夹可以容纳一个一定数量的图片(比如7000)......这就是他们增加的原因。
我很好奇我的脚本是否正确。
表中基本上有一行(mya_pictures),其中有一个当前文件夹的列(“1”,“2”,“3”......)和当前文件夹中的当前图片数量(不能超过7000 - 该文件夹中的最大文件数)....
一旦文件成功上传,文件的增量就会通过UPDATE完成。 我想知道在多用户环境中这是否会有效。
感谢
答案 0 :(得分: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
〜ķ