繁体   English   中英

临时锁定innoDB表

[英]Lock innoDB table temporarily

我在当前的Web应用程序中制作了包含两千行的较大的插入,并且我想确保在插入完成之前,除了读取表以外,其他任何人都无法做。

在保持正常的非管理员用户可读性的同时,做到这一点的最佳方法是什么?

谢谢!

由于您仅插入(而不更新),因此这不是问题。 只需将记录插入单个事务中。

如果我没记错的话,InnoDB支持行级锁定,因此即使更新也不成问题。

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

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

为什么不只在一次大交易中插入? 这样可以避免进行任何锁定。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM