640.gif

作者:阿里云数据库产品事业部

高级技术专家 冷香


背景

在生产环境,MySQL 数据库实例运行过程中,一些 SQL 语句会发生执行计划的变化,导致增加了数据库稳定性的风险。

这里边有几个因素和场景,比如:随着表数据量的变化,以及统计信息的自动收集,CBO optimizer 计算得到了一个cost 更低的 plan, 又或者 表结构发生了变化,增加和删减了某些索引,或者在实例升级迁移等过程中,MySQL 自身优化器行为和算法发生了变化等。

为了能够在线应对和干预业务SQL语句的执行计划,AliSQL设计了一套利用 MySQL optimizer/index hint 来稳定执行计划的方法,称为 Statement outline,并提供了一组管理接口方便使用(DBMS_OUTLN package), 并在阿里云RDS MySQL 8.0

收藏 打印