关于锁和事务的优化建议

关于锁和事务的优化建议

  • 看这篇文章的兄弟,可以先去看一下我写的锁和事务
  • 使用RC隔离级别
  • 精心设计索引,并尽量使用索引访问数据,使加锁更精确,从而减少锁冲突的机会
  • 选择合理的事务大小,小事务发生锁冲突的几率也更小
  • 给记录集显示加锁时,最好一次性请求足够级别的锁,比如要修改数据的话,最好直接申请排它锁,而不是先申请共享锁,修改时再请求排它锁,这样容易产生死锁
  • 不同的程序访问一组表时,应尽量约定以相同的顺序访问各表,对一个表而言,尽可能以固定的顺序存取表中的行,这样可以大大减少死锁的机会
  • 尽量使用相等条件访问数据,这样可以避免间隙锁对并发插入的影响
  • 除非必须要做,查询时不要显示加锁. MySQL的MVCC可以实现事务中的查询不用加锁,优化事务性能;MVCC只有COMMITTED READ (读取已提交) 和REPEATABLE READ (可重复读) 两种隔离级别下工作
posted @ 2019-07-08 21:57  UiPath在线接单  阅读(275)  评论(0编辑  收藏  举报