MySQLInnoDB行锁优化建议-创新互联
Inno
就会有比较明显的优势了。但是InnoDB的行级锁定同样也有其脆弱的一面,当我们使用不当的时候,可能会让InnoDB的整体性能表现不仅不能比MyISAM高,甚至可能会更差。
要想合理的利用InnoDB的行级锁定,做到扬长避短,我们必须做好以下工作:
(1).尽可能让所有的数据检索都通过索引Index来完成,从而避免InnoDB因为无法通过索引键加锁而升级为表级锁定;
(2).合理设计索引,让InnoDB在索引键上面加锁的时候尽可能准确,尽可能的缩小锁定范围,避免造成不必要的锁定而影响其他查询的执行;
(3).尽可能减少基于范围的数据检索过滤条件,避免因为间隙锁带来的负面影响而锁定了不该锁定的记录;
(4).尽量控制MySQL事务的大小,减小锁定的资源量和锁定的时间长度;
(5).在业务环境允许的情况下,尽量使用较低级别的事务隔离,以减少MySQL因为实现事务隔离级别所带来的附加成本。
分享题目:MySQLInnoDB行锁优化建议-创新互联
URL分享:http://pcwzsj.com/article/gghch.html
就会有比较明显的优势了。但是InnoDB的行级锁定同样也有其脆弱的一面,当我们使用不当的时候,可能会让InnoDB的整体性能表现不仅不能比MyISAM高,甚至可能会更差。
要想合理的利用InnoDB的行级锁定,做到扬长避短,我们必须做好以下工作:
(1).尽可能让所有的数据检索都通过索引Index来完成,从而避免InnoDB因为无法通过索引键加锁而升级为表级锁定;
(2).合理设计索引,让InnoDB在索引键上面加锁的时候尽可能准确,尽可能的缩小锁定范围,避免造成不必要的锁定而影响其他查询的执行;
(3).尽可能减少基于范围的数据检索过滤条件,避免因为间隙锁带来的负面影响而锁定了不该锁定的记录;
(4).尽量控制MySQL事务的大小,减小锁定的资源量和锁定的时间长度;
(5).在业务环境允许的情况下,尽量使用较低级别的事务隔离,以减少MySQL因为实现事务隔离级别所带来的附加成本。
分享题目:MySQLInnoDB行锁优化建议-创新互联
URL分享:http://pcwzsj.com/article/gghch.html