作者:任仲禹
爱可生 DBA 团队成员,擅长故障分析和性能优化,文章相关技术问题,欢迎大家一起讨论。
本文来源:原创投稿
* 爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。
SQLE 是由爱可⽣开发并开源、⽀持SQL审核、标准化上线流程等丰富功能的可扩展SQL审核⼯具(https://github.com/actiontech/sqle);⽬前⼤部分 MySQL 业务使⽤场景以5.7版本为主,今天本⽂来验证下 SQLE 对 MySQL 8.0 的⽀持程度。
审核结果如下图。
如下图审核结果,第⼆条 rank
表 其实与预期结果不符合,SQLE应该甩出报错。
正常的审核结果应该跟下图⼀样甩出错误。
审核结果如下图。
如下图审核结果,其实不符合预期。
正常的的审核结果应该为 ⽆问题
,该语句 MySQL 中执⾏如下图所示。
ALTER TABLE ... ALTER INDEX ...
语法为8.0新增,⽬前SQLE暂时还未加⼊解析器。DCL语句⼀般很少在线上环境中进⾏审核或上线,但SQLE依然可以⽀持。
但是也有可能会有⽆法审核的命令,如下图所示。
审核结果如下图,第2条语句审核结果不符合预期。
正常的审核结果应为 ⽆问题
,该语句MySQL中执⾏如下图所示。
set persist ...
语法为8.0新增,⽬前SQLE暂时还未加⼊解析器。审核结果如下图。
审核结果如下图。
审核结果如下图。
DDL与DML上下⽂关联常⻅于发版上线场景,实际⽣产环境中该场景还是⽐较多。
审核结果如下图。
审核结果如下图。
验证 MySQL 8.0 JSON 相关特性
审核结果如下图。
语句在 MySQL 正常执⾏如下图。
ALTER TABLE ... ALTER INDEX ...
语法set persist ...
语法本文关键字:#SQLE# #SQL审核#