2013-06-25 24 views
0

InnoDB表中的锁定行会被另一个用户调用UPDATE发生什么? 它是否等到它被解锁,然后由其他用户调用更新?因此,用户页面将一直等到解除锁定,然后执行,其中包含另一个用户显示页面的延迟?上传图像文件并跟踪mysql表

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

我很好奇,如果我做我的脚本的权利。

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

一旦文件成功上传,文件的增量就通过UPDATE完成。 我想知道,如果在多用户环境中,这将工作良好。

感谢

回答

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

〜ķ

+0

THX老兄你的答案:) –