智能运维:美团SQL Advisor的自动化SQL优化实现
SQLAdvisor 是由美团点评公司北京DBA团队开发维护的 SQL 优化工具:输入SQL,输出索引优化建议。 它基于 MySQL 原生词法解析,再结合 SQL 中的 where 条件以及字段选择度、聚合条件、多表 Join 关系等最终输出最优的索引优化建议。目前 SQLAdvisor 在公司内部大量使用,较为成熟、稳定。
上述实现时,涉及的函数为:mysql_sql_parse_join(TABLE_LIST join_table) mysql_sql_parse_join(Item join_condition) ,主要流程图如下:
计算区分度
主要涉及的函数为:mysql_sql_parse_field_cardinality_new() 计算选择度。
-
-
上述两函数的流程图如下所示:
添加被驱动表备选索引
输出建议
SQLAdvisor版本更新
最后更新:2017-10-24 17:04:02