下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

教你如何成功获取InnoDB锁

作者:课课家教育     来源: http://www.kokojia.com点击数:745发布时间: 2016-03-23 09:34:43

标签: mysqlinnodb优化数据库InnoDB锁优化

  今天给大家介绍的是关于MySQL中的InnoDB锁,什么是InnoDB锁?InnoDB,是MySQL的数据库引擎之一,为MySQLAB发布binary的标准之一。InnoDB由InnobaseOy公司所开发,2006年五月时由甲骨文公司并购。与传统的ISAM与MyISAM相比,InnoDB的最大特色就是支持了ACID兼容的事务(Transaction)功能,类似于PostgreSQL。今天给大家介绍的是InnoDB的争夺情况。

教你如何成功获取InnoDB锁_数据库_InnoDB锁优化_课课家

      20.3.2 获取InnoDB行锁争用情况 

  《深入浅出MySQL——数据库开发、优化与管理维护》从数据库的基础、开发、优化、管理4方面对MySQL进行了详细的介绍,其中每一部分都独立成篇,每一篇又包括多个章节。本书面向实用,内容覆盖广泛,讲解由浅入深,适合于各个层次的读者。本文介绍了InnoDB锁。

  可以通过检查InnoDB_row_lock状态变量来分析系统上的行锁的争夺情况:

  

  如果发现锁争用比较严重,如InnoDB_row_lock_waits和InnoDB_row_lock_time_avg的值比较高,还可以通过设置InnoDBMonitors来进一步观察发生锁冲突的表、数据行等,并分析锁争用的原因。

  具体方法如下:

  

  然后就可以用下面的语句来进行查看:

  

  监视器可以通过发出下列语句来停止查看:

  mysql>DROPTABLEinnodb_monitor;

  QueryOK,0rowsaffected(0.05sec)

  设置监视器后,在SHOWINNODBSTATUS的显示内容中,会有详细的当前锁等待的信息,包括表名、锁类型、锁定记录的情况等,便于进行进一步的分析和问题的确定。打开监视器以后,默认情况下每15秒会向日志中记录监控的内容,如果长时间打开会导致.err文件变得非常的巨大,所以用户在确认问题原因之后,要记得删除监控表以关闭监视器,或者通过使用“--console”选项来启动服务器以关闭写日志文件。

赞(0)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程