Skip to main content
PawSQL 可以在一个工作流中分析 SQL,发现潜在问题,并给出可执行的重写方案、索引建议和性能验证结果。本教程将带你完成第一次 SQL 优化。
本教程对应视频 PawSQL in a Minute 的核心操作流程。首次使用时,创建工作空间可能需要额外几分钟;工作空间准备完成后,一次优化通常只需要三个步骤。

你将完成什么

完成本教程后,你将能够:
  • 创建或选择一个工作空间;
  • 提交一条待优化 SQL;
  • 查看 SQL质量检查、自动重写和智能索引推荐;
  • 在具备数据库连接时,对优化前后的性能进行验证。

开始之前

你需要:
  • 一个可用的 PawSQL 账号和产品访问地址;
  • 一条需要分析的 SELECT 语句;
  • SQL 所引用对象的结构信息,或一个可访问的数据库连接。
只想快速体验?使用 DDL 创建工作空间即可,无需连接真实数据库。若要获取基于统计信息的索引建议、执行计划和性能验证结果,请使用数据库连接。

第 1 步:创建或选择工作空间

工作空间用于保存数据库类型、版本、表结构和统计信息等优化上下文。准确的上下文可以帮助 PawSQL 正确解析 SQL,并生成更可靠的优化建议。
1

进入工作空间

登录 PawSQL,在工作空间列表中选择一个现有工作空间,或点击 新建工作空间
2

选择数据库类型和版本

选择待优化 SQL 实际运行的数据库及版本。不同数据库的语法、优化规则和索引能力不同,请不要选择“最接近”的数据库作为替代。
3

提供数据库结构

根据你的使用环境选择一种方式:
粘贴或上传 SQL 涉及的 CREATE TABLECREATE INDEX 等 DDL。该方式适合快速体验、开发测试或无法连接数据库的场景。
创建工作空间:选择数据库类型并导入 DDL 或连接数据库

选择现有工作空间,或使用 DDL / 数据库连接创建新工作空间

生产环境建议使用权限最小化的只读账号。不要在截图、文档或代码仓库中公开数据库密码、内网地址或访问令牌。

第 2 步:提交待优化 SQL

进入工作空间后,打开 SQL 优化 页面,将 SQL 粘贴到编辑器中。 下面的示例用于查询指定客户最近创建的已付款订单:
1

输入 SQL

粘贴一条完整 SQL。请保留真实的表名、列名、连接条件和过滤条件;这些信息会影响审核和索引推荐结果。
2

确认上下文

检查当前工作空间、默认数据库或 Schema。若 SQL 使用了非默认 Schema,请在 SQL 中显式限定对象,或在任务配置中选择正确的 Schema。
3

开始优化

点击 优化。PawSQL 将解析 SQL,并根据当前工作空间可用的信息执行规则审核、自动重写和索引分析。
在 SQL 编辑器中粘贴示例 SQL 并准备优化

确认工作空间和 Schema 后,提交 SQL 进行优化

第 3 步:阅读优化结果

优化完成后,先查看结果摘要,再逐项检查建议。不同 SQL 和工作空间可能展示不同结果。

SQL质量检查

识别正确性、性能、安全性和可维护性风险,并说明命中的规则与修改方向。

自动重写

在保持语义等价的前提下,提供更利于数据库优化器执行的候选 SQL。

智能索引推荐

结合过滤、连接、排序和分组字段,给出候选索引及对应的建索引语句。

自动化性能验证

在可连接数据库时,对优化前后的执行计划或实际执行表现进行比较。
优化结果:索引推荐、审核建议与性能提升摘要

从结果摘要进入审核、重写、索引和性能验证详情

建议的阅读顺序

  1. 先处理高优先级审核问题。 正确性或安全性问题通常比单纯的性能建议更紧急。
  2. 比较原始 SQL 与重写 SQL。 确认业务语义、返回列和排序要求符合预期。
  3. 评估索引建议。 检查是否已有重复或前缀重叠索引,并考虑写入开销与存储成本。
  4. 查看验证证据。 优先采用有执行计划或实测数据支持的方案。
不要未经验证就直接在生产环境执行重写 SQL 或创建索引。请先在测试环境确认结果集等价,并按照组织的变更流程评估和发布。

如果没有生成建议

检查工作空间的数据库类型和版本是否正确,SQL 是否完整,以及是否包含当前版本尚未支持的方言语法。
补充 SQL 涉及表的 DDL,或检查数据库连接账号是否有权读取相应 Schema 的元数据。
这并不一定表示分析失败。当前索引可能已经覆盖访问路径,SQL 也可能不适合通过新增索引优化。请结合审核和执行计划结果判断。
性能验证通常需要可用的数据库连接、执行权限和足够的运行数据。仅导入 DDL 的工作空间仍可用于语法分析、规则审核和部分索引分析。

下一步

选择使用方式

比较 Web、IDE、API 和流水线接入方式。

支持的数据库

查看数据库、版本和能力兼容范围。

查询重写优化

了解自动重写的工作方式和使用边界。

自动化性能验证

了解如何用执行证据选择优化方案。