mysql 5.7 Stage Tracking DDL進度跟蹤

背景:
在mysql 中一些大表做DDL,可能時間會很長,只能在processlist 中看到當前的進程,但是無法得知當前DDL操作的進度,不太直接,今天給大家介紹5.7的一個新功能Stage Tracking,這個功能可以讓我們實時得知DDL的進度,在一定的業務場景中還是挺方便,話不多說,馬上開車!

mysql 5.7 performance_schema 提供一個進度跟蹤功能,雖然還不是很直觀,但是也相當不錯了。
這邊功能默認是關閉的,需要手動開啓:
1,UPDATE performance_schema.setup_instruments SET ENABLED = 'YES', TIMED = 'YES' WHERE NAME = 'stage/sql/altering table';

mysql 5.7 Stage Tracking DDL進度跟蹤

3,這樣就開啓成功了。
樣例:
mysql 5.7 Stage Tracking DDL進度跟蹤

mysql 5.7 Stage Tracking DDL進度跟蹤

通過以下sql來查看進度:
SELECT EVENT_NAME, WORK_COMPLETED, WORK_ESTIMATED,(WORK_COMPLETED/WORK_ESTIMATED)*100 as COMPLETED FROM performance_schema.events_stages_current;

mysql 5.7 Stage Tracking DDL進度跟蹤

官方文檔:
https://dev.mysql.com/doc/refman/5.7/en/performance-schema-stage-tables.html

總結:
1,5.7有很多實用的新功能和特性,對運維和優化都意義重大,performance_schema開啓一些額外的功能會佔用一定的資源,所以大家根據自家的業務場景來使用
2,大家還有哪些5.7實用的新特性歡迎給我留言,向大神們學習

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章