Skip to main content

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 智能优化窗口。

    tip

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

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

优化结果说明

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

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