暂时锁定innoDB表

时间:2010-05-07 18:27:41

标签: mysql locking innodb

我在当前的网络应用程序中制作了包含几千行的更大插页,我想确保没有人可以做任何事情,只需阅读表格,直到插入完成。

在保持普通非管理员用户的阅读可用性开放的同时,最好的方法是什么?

谢谢!

3 个答案:

答案 0 :(得分:2)

由于您只是插入(不更新),这应该不是问题。只需在单个事务中插入记录即可。

如果我没记错的话,InnoDB支持行级锁定,所以即使更新也不应该是一个问题。

答案 1 :(得分:2)

您可能还需要更改默认隔离级别:

 set transaction isolation level serializable;
 start transaction;
 // insert data
 commit

答案 2 :(得分:1)

为什么不在一次重大交易中插入?这样可以防止任何锁定。