PolarDB MySQL 8.0.1和8.0.2版本支持Polar Performance Schema功能,它可以监测数据库中DDL语句的执行状态及MDL锁状态。此功能在某些规格上会默认开启。您可以通过如下命令查询当前实例是否开启了此功能:
SHOW VARIABLES LIKE 'polar_performance_schema';
若当前实例已开启Polar Performance Schema功能,您可以通过如下SQL查看当前实例上DDL的执行进度的预估值:
SELECT THREAD_ID,EVENT_ID, EVENT_NAME, WORK_COMPLETED, WORK_ESTIMATED,(WORK_COMPLETED/WORK_ESTIMATED)*100 as PROGRESS FROM performance_schema.events_stages_current;
注意:如果您使用的是集群地址,您需要使用HINT语法指定查询读写节点的状态。包含HINT语法的查询SQL如下所示:
/*force_node='ins_name'*/SELECT THREAD_ID,EVENT_ID, EVENT_NAME, WORK_COMPLETED, WORK_ESTIMATED,(WORK_COMPLETED/WORK_ESTIMATED)*100 as PROGRESS FROM performance_schema.events_stages_current;更多信息请参考文档:
查看DDL执行状态和MDL锁状态