当前位置:天才代写 > tutorial > 数据库教程 > 教你如何成功获取InnoDB锁

教你如何成功获取InnoDB锁

2018-05-20 08:00 星期日 所属: 数据库教程 浏览:362

  今天给大家介绍的是关于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锁

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

  具体方法如下:

  教你如何成功获取InnoDB锁

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

  教你如何成功获取InnoDB锁

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

  mysql>DROPTABLEinnodb_monitor;

  QueryOK,0rowsaffected(0.05sec)

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

 

    关键字:

天才代写-代写联系方式