多线程同时调用MySql存储过程的问题

Kael Z 2014-04-24 02:16:37
RT:最近做的项目中,需要我写个存储过程,但是我写的过程是需要对一张表进行UPDATE,但是做底层的是需要开启多线程来缩短采集时间的,所以会开几十个甚至上百的连接同时进行采集,也就是对应着要在同一个时间点CALL我的过程,导致锁表,求大神帮助!
...全文
316 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
liuxinran819 2014-04-24
  • 打赏
  • 举报
回复
如果ID列是索引的话 就可以
Kael Z 2014-04-24
  • 打赏
  • 举报
回复
引用 2 楼 ACMAIN_CHM 的回复:
使用 innodb 存储引擎,这样可以利用它的记录锁而不是表锁
恩,我就是用的innodb 引擎,不过在存储过程开始阶段我是加了事务: START TRANSACTION; SET autocommit = 0; 这样加的 是不是这么做就直接造成表级锁,如果是的话,有什么办法在我这个过程中做行级锁么 用SELECT * FROM 表名 WHERE ID=1 FOR UPDATE的这种办法能在存储过程中造成行级锁么
ACMAIN_CHM 2014-04-24
  • 打赏
  • 举报
回复
使用 innodb 存储引擎,这样可以利用它的记录锁而不是表锁
benluobo 2014-04-24
  • 打赏
  • 举报
回复
贴出你的update语句和update的表的结构

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧