SuperAPI AI 工具集

alibabacloud-polardb-mysql-sql-lint

数据与分析

查看项目

更新于 10-15 19:55

技能介绍

用途:对 PolarDB MySQL 的 SQL 语句做评估与优化建议,将静态 SQL lint 规则与阿里云 DAS SQL 诊断结合。

主要能力:静态模式提供 28+ 条 lint 规则,即时运行、无需网络调用;完整诊断模式在静态检查之外,额外给出 DAS 执行计划、索引建议(indexAdvices)、SQL 改写建议(tuningAdvices)、成本估算(estimateCost)与优化潜力(improvement)。支持多语句:用分号分隔的多条 SQL 可一次性传入单个 --sql 参数,脚本会逐条静态检查、跨批次检测可合并的 ALTER TABLE(RULE-061),并并行创建 DAS 任务后统一取回结果。

使用方式:需 Python 3.8+、aliyun-cli(版本 >= 3.3.3)并已配置凭证。静态模式运行 python3 scripts/sql_lint.py --sql "YOUR_SQL";完整诊断需提供实例 ID 与数据库名,先校验实例,再运行 python3 scripts/sql_lint.py --instance-id pc-xxx --database db_name --sql "YOUR_SQL" --region cn-shanghai。也可单独调用 DAS:aliyun das create-request-diagnosis 与 aliyun das get-request-diagnosis-result(取结果用 --message-id,不是 --task-id)。执行前须启用 AI-Mode,退出时须关闭;所有可自定义参数(实例 ID、库名、地域、SQL)需与用户确认。

适用场景:快速 SQL 审查,或针对有效 PolarDB MySQL 实例做执行计划与索引优化诊断。

限制:不连接数据库查询元数据,不执行 COUNT(),不获取表结构;DAS 端点固定为 das.cn-shanghai.aliyuncs.com;RDS MySQL(rm-)实例可能不支持完整 DAS 诊断;小数据集可能无优化建议;DAS 报错时仅呈现静态结果,不猜测建议。所需 RAM 权限见资料中的策略 JSON。具体收费与价格暂未提供。