适用场景
- 无法从 PawSQL 网络连接目标数据库;
- 企业安全策略不允许提供数据库账户;
- 只需要分析少量 SQL 和相关对象;
- 数据库尚未部署,但已有设计阶段 DDL;
- 需要为示例、培训或测试建立独立上下文。
准备 DDL
为了获得更完整的分析结果,建议准备:- SQL 涉及表的
CREATE TABLE语句; - 列名、数据类型、可空属性和默认值;
- 主键、唯一约束和必要的外键;
- 已有索引的定义和索引列顺序;
- SQL 引用视图时的视图定义;
- 对象所在 Schema;
- 数据库特有的分区、分布或其他必要定义。
只提供表名和列名虽然可能满足基础解析,但会限制依赖数据类型、约束和索引信息的审核与优化能力。
DDL 示例
以下示例只用于说明 DDL 应包含的关键信息:创建步骤
选择 DDL 方式时,按以下步骤创建工作空间:1
创建工作空间
在正确的组织或项目中打开工作空间页面,选择创建工作空间,并填写名称和用途说明。
2
选择数据库类型和版本
选择 DDL 和目标 SQL 对应的真实数据库产品及版本。
3
选择 DDL 方式
将元数据来源设置为 DDL,然后进入 DDL 输入或导入页面。
4
输入 DDL
粘贴或上传经过检查的 DDL。文件编码和大小应符合当前版本要求。
5
检查解析结果
查看成功识别的 Schema、表、列、约束和索引,并处理解析失败的语句。
多 Schema 和同名对象
DDL 中存在多个 Schema 或同名表时,建议:- 在 DDL 中使用完整限定名;
- 明确工作空间的默认 Schema;
- 保留 SQL 实际使用的对象所属关系;
- 测试未限定表名能否解析到正确对象。
更新 DDL
目标数据库结构发生变化后,应重新导入或更新对应 DDL,例如:- 新增、删除或修改列;
- 新建或删除索引;
- 修改约束;
- 新增分区或改变分布策略;
- 修改视图定义。
限制
DDL 工作空间通常无法直接提供:- 数据库实时统计信息;
- 当前数据规模和分布;
- 数据库优化器生成的在线执行计划;
- 基于真实环境的 SQL 执行和自动化性能验证;
- 未包含在 DDL 中的对象和索引。
预期结果
解析完成后,工作空间包含 DDL 中识别的 Schema、表、列、约束和索引,可用于 SQL 审核与优化。验证
确认 DDL 解析无失败、引用的对象均已解析,且识别出的对象与提供的定义一致,即可验证工作空间创建正确。常见问题
DDL 无法解析
DDL 无法解析
检查数据库类型、版本、文件编码、语句分隔符和数据库专有语法。可以先缩小到失败语句进行定位。
SQL 中的表无法识别
SQL 中的表无法识别
确认对应 DDL 已导入,并检查 Schema、大小写、引号和对象限定名。
产生了已有索引的重复建议
产生了已有索引的重复建议
检查 DDL 是否包含目标数据库中的现有索引定义,以及索引列顺序是否正确。