Skip to main content
PawSQL 支持广泛的主流关系型数据库、国产数据库、分布式数据库以及大数据 SQL 引擎。 不同数据库支持的能力范围可能有所差异。除 SQL 解析之外,PawSQL 还可根据目标数据库提供 SQL质量检查、查询重写优化、智能索引推荐、执行计划分析、自动化性能验证以及生产 SQL 治理等能力。

定义

在 PawSQL 中,数据库支持既包括解析其 SQL 方言的能力,也包括可提供的数据库感知分析深度;支持范围因数据库、版本和部署方式而异。

关系型数据库

主流数据库

  • MySQL
  • PostgreSQL
  • MariaDB
  • Oracle
  • Microsoft SQL Server
  • IBM Db2

国产数据库

  • openGauss
  • GaussDB
  • KingbaseES
  • 达梦数据库
  • MogDB
PawSQL 不会仅将这些数据库视为 MySQL 或 PostgreSQL 的兼容方言,而是针对数据库自身特性进行专项适配。 根据具体数据库,适配范围可能包括:
  • SQL 语法与数据类型
  • 内置函数
  • DDL 语法
  • 元数据接口
  • 索引机制
  • 查询优化器行为
  • 执行计划格式

分布式数据库

PawSQL 针对分布式数据库提供专项支持。 在分布式数据库中,SQL 性能不仅取决于访问路径和索引,还会受到数据分布方式以及跨节点执行的影响。 当前支持的分布式数据库包括:
  • OceanBase
    • MySQL 模式
    • Oracle 模式
  • TDSQL MySQL
  • TDSQL PostgreSQL
  • TDSQL PostgreSQL 分布式版
  • TDSQLx-MySQL
  • GoldenDB
  • PolarDB-X
针对分布式数据库,PawSQL 可分析以下数据库特性:
  • 分布键
  • 分片键
  • 分片表
  • 复制表或广播表
  • 跨分片 Join
  • 数据重分布
  • 本地索引与全局索引
  • 分布式执行计划
这些能力可用于 SQL质量检查、数据库迁移治理以及分布式 SQL 性能优化。

大数据

Apache Hive

PawSQL 支持 Apache Hive SQL,并针对分布式分析型计算场景提供专项优化规则。 典型支持场景包括:
  • 分区裁剪检查
  • 分桶 Join 分析
  • MapJoin 相关优化
  • COUNT DISTINCT 数据倾斜分析
  • GROUP BY 数据倾斜分析
  • 窗口函数数据倾斜分析
  • 全局排序与 Top-N 优化
  • UNION 数据倾斜分析
  • 分布式 SQL 最佳实践检查
Hive 支持重点关注大规模分布式计算中的 SQL 质量、执行效率以及数据倾斜风险。

兼容性矩阵

下表概览 PawSQL 在不同数据库上的主要能力支持情况。 图例
  • 完整支持
  • 支持,但存在数据库或版本相关限制
  • 不适用或当前暂不支持
上述矩阵反映 PawSQL 的整体产品能力。实际支持范围可能因 PawSQL 版本、数据库版本、部署方式以及是否能够在线获取元数据等因素而有所不同。

数据库支持不仅仅是 SQL 解析

对于 PawSQL 而言,“支持某个数据库”并不只是能够解析其 SQL 语法。 数据库适配通常包括多个层次:
数据库适配越深入,PawSQL 能够提供的优化能力就越具备数据库特性。

在线模式与离线模式

PawSQL 支持在线和离线两种 SQL 分析模式。

在线模式

当 PawSQL 可以连接目标数据库时,可自动获取:
  • 字段
  • 索引
  • 视图
  • 统计信息
  • 数据分布信息
  • 执行计划
在线模式能够提供最完整的 SQL 优化上下文,并支持更深入的性能验证。

离线模式

如果生产数据库不允许外部系统直接连接,PawSQL 也可以基于 Schema 信息分析 SQL。 支持的方式包括:
  • 上传 DDL 文件
  • 手工导入 DDL
  • 从开发或测试环境导出 Schema
离线模式常用于:
  • CI/CD
  • SQL 上线门禁
  • 上线前 SQL质量检查
  • 安全隔离环境
  • 数据库迁移
  • 金融行业生产环境

版本兼容性

不同数据库版本之间可能存在能力差异,例如:
  • SQL 语法变化
  • 新增数据类型
  • 查询优化器行为变化
  • 执行计划格式变化
  • 元数据接口差异
  • 分布式数据库特性差异
在生产环境部署前,建议根据所使用的 PawSQL 版本确认对应的数据库兼容范围。

兼容数据库发行版

部分数据库基于 MySQL、PostgreSQL 或 openGauss 生态构建。 PawSQL 不会默认认为这些数据库与其上游数据库完全一致。 实际差异可能包括:
  • 函数
  • DDL
  • Hint
  • 索引
  • 系统表
  • 分布式语法
  • 优化器行为
  • 执行计划
对于存在明显差异的数据库产品,PawSQL 会进行独立适配。

功能可用性

具体功能是否可用,可能取决于:
  • 数据库类型
  • 数据库版本
  • PawSQL 产品版本
  • PawSQL 产品版本对应的功能模块
  • 在线或离线模式
  • 是否能够获取元数据
  • 是否能够获取执行计划
如果某项能力标记为部分支持,建议结合实际数据库版本确认具体支持范围。

没有找到你的数据库?

如果你的数据库未列在上述列表中,PawSQL 仍可能通过现有兼容层或专项适配提供支持。 常见情况包括:
  • MySQL 兼容数据库
  • PostgreSQL 兼容数据库
  • openGauss 兼容数据库
  • 行业专用数据库
  • 企业定制数据库发行版
可以联系 PawSQL 团队评估数据库兼容性及适配需求。

下一步

确认你的数据库与版本受支持后,可查看选择 PawSQL 使用方式快速开始开始优化 SQL。