【发布时间】:2010-05-08 02:39:53
【问题描述】:
我在我当前的网络应用程序中制作了包含几千行的更大插入,我想确保除了读取表格之外没有人可以做任何事情,直到插入完成。
在保持对普通非管理员用户开放读取可用性的同时,最好的方法是什么?
谢谢!
【问题讨论】:
我在我当前的网络应用程序中制作了包含几千行的更大插入,我想确保除了读取表格之外没有人可以做任何事情,直到插入完成。
在保持对普通非管理员用户开放读取可用性的同时,最好的方法是什么?
谢谢!
【问题讨论】:
您可能还需要更改默认隔离级别:
set transaction isolation level serializable;
start transaction;
// insert data
commit
【讨论】:
由于您只是插入(而不是更新),这应该不是问题。只需在单个事务中插入记录。
如果我没记错的话,InnoDB 支持行级锁定,所以即使更新也不成问题。
【讨论】:
为什么不在一个大事务中插入呢?这样可以避免任何锁定的需要。
【讨论】: