首页
学习
活动
专区
圈层
工具
发布

MySQL表锁
EN

Stack Overflow用户
提问于 2012-07-19 02:26:13
回答 1查看 5.3K关注 0票数 0

对于以下情况,是否需要显式锁定mysql表:

mysql数据库用户名: db_user (而且只有一个)

web客户端会话:许多用户同时登录

因为mysql用户是单一的,但是我的web服务器有很多客户端会话。会发生什么(在一个表中插入记录,然后获取插入ID并将数据添加到另一个表):

  1. 许多网络会话都有单独的db_user副本。
  2. 用于多个浏览器会话的db_user的单个副本。
  3. 任何其他的。

请帮帮忙。

EN

回答 1

Stack Overflow用户

发布于 2012-07-23 05:56:11

哈梅特

简单地说,答案是否定的,你不需要在做你描述的事情时使用LOCK TABLES

您只需要在希望确保您是唯一写入表的人时才使用LOCK TABLES,例如,如果您想要INSERT大量记录,并且希望尽可能快地执行该操作。

您可以在mysqldump命令创建的转储文件中看到这一点。下面是转储文件中的一个示例:

代码语言:javascript
复制
LOCK TABLES `tbl` WRITE;
/*!40000 ALTER TABLE `tbl` DISABLE KEYS */;
INSERT INTO `tbl` VALUES ...
/*!40000 ALTER TABLE `tbl` ENABLE KEYS */;
UNLOCK TABLES;
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11553087

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档