mysql死锁求助

shangezi 2018-09-07 02:43:02
我使用insert into 表1(字段1,字段2,字段3...) select 值1,值2,值3.... from dual where (select count(1) from 表1 where 条件。
会发生死锁,请问各位大神这个语句我应该怎么写比较好。
...全文
876 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
叶落千尘 2018-09-19
  • 打赏
  • 举报
回复
看看锁的持有时间。
看看执行计划。如果没有走索引,那么重新修改语句。
这样的语句是很正常的。
看看同时间段内有没有同时在需求这个表的锁的语句。
mingqing6364 2018-09-08
  • 打赏
  • 举报
回复
效率高低影响的是死锁概率或者说频率,而不是会不会发生
单纯就你这一条语句,是不会发生死锁的,贴完整一些
然后就是存储引擎,myisam是表级锁,一般不容易死锁,innodb是行级锁,更容易死锁
75闪光雷 2018-09-07
  • 打赏
  • 举报
回复
你是先插入表一吗 然后再查找?
shangezi 2018-09-07
  • 打赏
  • 举报
回复
引用 1 楼 yenange 的回复:
先不管插入, 看下 select 语句需要多少时间, 效率是否高, 是否有相关的索引?

可以先插入到临时表, 再从临时表插入到 表1 。

先插入到临时表, 再从临时表插入到 表1??能详细说明一下吗
吉普赛的歌 2018-09-07
  • 打赏
  • 举报
回复
先不管插入, 看下 select 语句需要多少时间, 效率是否高, 是否有相关的索引?

可以先插入到临时表, 再从临时表插入到 表1 。

56,679

社区成员

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

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