MySQL高级 - 锁 - InnoDB行锁 - 总结
生活随笔
收集整理的这篇文章主要介绍了
MySQL高级 - 锁 - InnoDB行锁 - 总结
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
InnoDB存储引擎由于实现了行级锁定,虽然在锁定机制的实现方面带来了性能损耗可能比表锁会更高一些,但是在整体并发处理能力方面要远远由于MyISAM的表锁的。当系统并发量较高的时候,InnoDB的整体性能和MyISAM相比就会有比较明显的优势。
但是,InnoDB的行级锁同样也有其脆弱的一面,当我们使用不当的时候,可能会让InnoDB的整体性能表现不仅不能比MyISAM高,甚至可能会更差。
优化建议:
-
尽可能让所有数据检索都能通过索引来完成,避免无索引行锁升级为表锁。
-
合理设计索引,尽量缩小锁的范围
-
尽可能减少索引条件,及索引范围,避免间隙锁
-
尽量控制事务大小,减少锁定资源量和时间长度
-
尽可使用低级别事务隔离(但是需要业务层面满足需求)
总结
以上是生活随笔为你收集整理的MySQL高级 - 锁 - InnoDB行锁 - 总结的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: MySQL高级 - 锁 - InnoDB
- 下一篇: MySQL高级 - SQL技巧 - SQ