天天看點

[MySQL 5.6] 優化函數lock_number_of_rows_lock

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

繼續閱讀