跳到主要内容

SQL 智能优化

NineData SQL 窗口支持 SQL 智能优化功能,本文介绍什么是 SQL 智能优化,以及如何使用该功能。

功能介绍

SQL 智能优化是 NineData SQL 窗口内置的 AI 能力之一,用于对用户编写的 SQL 语句进行自动分析,并输出优化建议。系统会结合 SQL 语法结构、数据库类型特性以及常见性能问题,对目标 SQL 给出优化建议,帮助用户在不深入数据库底层细节的情况下,快速提升 SQL 执行效率与稳定性。

该功能不会直接修改或执行 SQL,仅输出分析结果和优化建议,确保对生产环境零侵入、零风险。

前提条件

  • 已通过 NineData 打开目标数据源的 SQL 窗口。
  • 当前账号对目标数据源至少具备只读权限
  • 您使用的数据源类型为:MySQL、Hive、DWS、Lindorm MySQL、Doris、TIDB、Vastbase、KingBaseES Oracle、TDSQL MySQL、PolarDB-X、PolarDB Oracle、SQL Server、PostgreSQL、Elasticsearch、OceanBase MySQL、OceanBase Oracle、Greenplum、StarRocks、MongoDB、达梦、GBase、Oracle、Sybase、AnalyticDB PostgreSQL、GreatSQL、Klustron、GoldenDB、MariaDB、KingBaseES、Db2、ClickHouse、GaussDB、SingleStore、SelectDB、openGauss

操作步骤

  1. 打开 SQL 窗口并进入目标数据源

  2. 在 SQL 编辑器中输入或粘贴需要优化的 SQL 语句。

  3. 将光标放置在目标 SQL 内或选中完整 SQL,然后单击optimizedSQL图标,打开 SQL 智能优化窗口。

    提示

    您也可以单击鼠标右键,并单击 SQL 智能优化,打开 SQL 智能优化窗口。

  4. 系统自动进行分析,等待片刻后即可在界面中展示优化结果。

优化结果说明

SQL 智能优化的返回结果从查询语句、索引设计、表结构、执行计划以及长期可维护性等多个维度给出完整评估,帮助用户提前规避潜在风险。

维度说明
当前执行情况评估系统会首先对 SQL 的当前执行状态进行客观评估,包括数据表当前数据量查询成本(Cost)实际执行时间是否存在临时表文件排序等。
结构与约束问题识别检查底层表结构是否符合数据库最佳实践,例如:是否定义主键(Primary Key)、是否存在唯一性约束等等,并给出可直接执行的 DDL 建议,用于从根本上消除结构性隐患。
索引与访问路径分析系统会分析:当前索引情况(是否无索引)、SQL 实际采用的访问方式(如 ALL 全表扫描)、当前扫描行数与数据规模的匹配度,并按优先级给出索引建议。
SQL 写法与语义层优化优化结果会重点关注 SQL 语义层面的最佳实践问题,例如:是否使用 SELECT *、是否明确指定所需字段等,系统会说明不推荐写法的原因,并同时给出多种优化方案。
表设计与长期优化建议SQL 智能优化会从长期视角给出表设计改进建议,包括:主键定义方式(如自增主键)、唯一约束防止脏数据、字段类型合理性(VARCHAR / TEXT / ENUM)、默认值与时间字段规范、数据量增大后的分区或分表建议等。
执行计划解读与对比预期优化结果会对当前执行计划进行解读,例如:扫描类型(全表扫描 / 索引查找等)、扫描行数、是否存在排序或临时表等,同时给出不同优化场景下的执行计划变化预期
优化总结与实施建议在末尾,系统会对优化建议进行总结,并给出清晰的实施顺序建议,帮助用户分阶段落地优化方案。