MySQL中如何避免死锁?

  • 尽量以相同的顺序来访问索引记录和表
  • 业务上能够接受幻读和不可重复读,考虑降低锁的级别到 Read committed,降低死锁发生的概率
  • 添加合理的索引,走索引避免为每一行加锁,降低死锁的概率
  • 在事务中一次锁定所需要的所有资源,如 MyISAM 引擎的表锁
  • 避免大事务,尽量将大事务拆成多个小事务来处理
  • 尽量避免同时并发对同一表进行读写操作,特别是执行加锁且操作数据量较大的语句
  • 设置锁等待超时参数

【Java面试题与答案】整理推荐

猜你喜欢

转载自blog.csdn.net/meism5/article/details/107601849