lock_number_of_rows_locked是一个统计一个事务中占有多少记录锁的函数,通过执行show engine innodb status触发。
在我们的生产环境中,类似show engine innodb status这样的语句是被频繁执行的,而从perf top,也观察到过占用超过20%的cpu。
返回上一层的函数来看,这里实际上是带着全局大锁lock_sys->mutex.仅仅为了一个计数,我们完全可以为每个事务增加一个计数器,然后在设置行锁bit/reset 行锁bit时 增加/减少计数.
昨天提交的buglist(http://bugs.mysql.com/bug.php?id=68647) ,包含patch