SQL优化从未如此简单,PawSQL Cloud实践指南(新增Oracle/人大金仓数据库语法支持)

概述

PawSQL Cloud是PawSQL Advisor的SaaS版本,它整合了业界关于关系数据库查询优化最佳实践,通过查询重写优化、智能索引推荐,帮助应用开发人员及数据库管理人员一站式解决SQL性能问题。

相比较PawSQL Advisor/Paw Index Advisor等基于IntelliJ的插件,PawSQL Cloud免安装,不依赖其他工具,不仅适合应用开发人员,也适合数据库管理人员等非开发人员使用;PawSQL Cloud同时能够记录您的优化历史,便于日后查看和跟踪,同时优化结果可以通过链接和同事共享。

核心功能

  • 基于规则的SQL审查,包括正确性审查和性能优化审查规则。
  • 丰富的重写优化,推荐语义等价,但执行效率更高的SQL。
  • 智能索引推荐,满足各种SQL语法组合的场景下,推荐最优的索引组合。
  • 基于代价的性能验证,确保基于SQL重写和索引推荐的新方案有着更好的性能。
  • 索引分析,定位冗余索引,节省系统资源。

支持数据库

PawSQL基于自研的SQL解析器,支持多种数据库类型以及SQL方言,当前支持的数据库列表如下,还在不断增加中…

  • MySQL 5.6及以上 (official)
  • PostgreSQL 9.1及以上 (official)
  • openGauss 1.0及以上 (official)
  • MariaDB 5.6及以上(alpha)
  • Oracle 11g及以上(alpha)
  • KingbaseES V8(alpha)

三步完成您的SQL优化

  • 选择/创建工作空间
  • 输入待优化SQL
  • 查询优化配置

1、选择/创建工作空间

工作空间是你进行SQL优化的上下文环境,一般包括数据表、视图、索引的定义及其上的一些统计信息.

PawSQL Cloud支持以下方式创建您的工作空间。

  • 通过数据库连接信息创建工作空间
  • 支持MySQL/PostgreSQL/openGauss/MariaDB/Oracle等数据库
  • 通过DDL文件创建工作空间
  • 通过手工输入DDL语句创建工作空间
  • 通过数据库dump出来的DDL创建工作空间

提示: 对于每一种工作空间创建方式,PawSQL提供了在线指南帮您创建您的工作空间。

2、输入待优化SQL

待优化SQL是您进行查询优化的对象,它的来源可以是:

  • 数据库SQL日志。
  • 支持MySQL慢日志/通用日志,PostgreSQL的SQL日志,opengauss的SQL日志。
  • 文本文件;SQL语句间以;分割。
  • SQL文本;SQL语句间以;分割。

提示: 同样的,您可以看到PawSQL提供了在线指南帮您获取待优化的SQL。

3、创建查询优化

查询优化表示在您的工作空间内对一组SQL查询进行的性能优化诊断,一般包括SQL审查、重写优化、索引推荐等。

用户可以对优化任务输入、输出、数据源以及执行过程的配置。

(1)基础配置

  • 优化ID:标识您本次优化的ID
  • 是否仅索引推荐:此选项控制是否启用重写优化,在SQL已经上线的情况下,修改SQL可能无法立即实施,在此情况下,可以禁用此选项;PawSQL将不会重写您的SQL,只是基于原SQL进行索引推荐。

(2)优化验证

  • 是否更新DDL信息,是否连接到验证数据库获取最新的DDL信息。
  • 是否启用What-If性能验证,此选项控制是否对推荐的优化建议进行性能验证,如果启用此选项,PawSQL在优化详情中会提供SQL优化前后的执行计划及代价信息,从而确保推荐的优化建议(重写优化及索引推荐)能够真实提升数据库性能。
  • 性能验证时是否启用Analyze,如果启用此选项,则在进行What-If性能验证时获取SQL的真实解析及执行时间,避免了MySQL对中间结果表explain的缺陷,代价估算更加精确。

注意:最后两个性能验证的选项应避免在生产库上使用,因为对于没有内置what-if(内置虚拟索引)的数据库(MySQL/Postgres皆是)来说,性能验证是通过创建推荐索引并进行explain分析执行计划,然后删除推荐索引的方式来做的。这个过程在生产库上会消耗一定的资源,且执行时间可能会比较长,可能对生产库上的业务运行产生影响。

(3)索引推荐配置

  • 是否和现有索引去重,此选项表示推荐索引时,是否和现有索引去重。
    启用此选项的场景是不考虑删除现有的索引,因为输入的SQL只是并不能代表这个数据库上所有的SQL场景,所以只考虑新增对输入SQL有帮助的索引。如果能够确保输入的SQL包含此数据库所有的查询,那么只保留推荐的索引就可以了,这种情况下可以不选择此选项,并且使用新推荐的索引代替现有的索引。
  • 是否推荐覆盖索引,此选项表示推荐索引时是否考虑覆盖索引策略。
    覆盖索引可以让查询只访问索引而不需要访问数据表(请参考《高效索引的准则》),在一些场景下,覆盖索引能够大幅提示查询性能。但是覆盖索引会包含查询条件中没有使用的列,从而增加索引所占的磁盘空间大小。
  • 覆盖索引的最大列数,此项设置表示在进行覆盖索引推荐时,索引的最大列数限制。如以上所述,覆盖索引会包含查询条件中没有使用的列,从而增加索引所占的磁盘空间大小。此选项可以控制覆盖索引所占空间的大小,让PawSQL能够为用户提供一定空间限制的情况下利用覆盖索引的非回表特性。
  • 索引的最大列数,此选项限制索引的最大列数,索引会占用一定的磁盘空间,且太多列的索引会让索引树的层级加深,从而增加索引访问的代价。用户可以通过此项设置控制索引的最大列数。
  • 单表最大索引数目,如《高效索引的准则》中所述,索引不是免费的午餐,它会占用磁盘空间,并对对DML操作产生负面影响,因为对于数据库管理器写入表的每一行,它还必须更新任何受影响的索引。因此,PawSQL通过此选项来审查单表的索引数量,并进行警告提示。

(4)优化规则配置

  • 是否启用该优化规则,以及修改相应阈值

优化结果解析

汇总结果展示

 内容包括

  • 优化概要
  • 推荐的索引
  • SQL优化列表

单SQL优化详情

  • 原始SQL

  • 重写优化
  • 重写后的SQL
  • 重写所应用的优化策略
  • 重写优化对应的SQL片段

  • 规则审查情况
  • 违反的审查规则
  • 违反规则的SQL片段

  • 索引推荐情况
  • 推荐的索引
  • 索引推荐的依据

  • 索引分析
  • 各个表上的索引列表,是否是冗余索引
  • 现有索引如何帮助此SQL
  • 单表索引个数超过阈值提示

  • 性能验证
  • 性能提升比
  • 验证生效的推荐索引
  • 优化之前的执行计划
  • 优化之后的执行计划

关于PawSQL

PawSQL专注数据库性能优化的自动化和智能化,支持MySQL,PostgreSQL,Opengauss,Oracle(alpha), MariaDB(alpha)等,提供的SQL优化产品包括:

  • PawSQL Cloud,在线自动化SQL优化工具,支持SQL审查,智能查询重写、基于代价的索引推荐,适用于数据库管理员及数据应用开发人员,
  • PawSQL Advisor,JetBrain的DataGrip、IDEA等IDE的插件, 适用于数据应用开发人员,可以IDEA/DataGrip的应用市场通过名称搜索“PawSQL Advisor”安装。
  • PawSQL Engine, 是PawSQL系列产品的后端优化引擎,可以以docker镜像的方式独立安装部署,并通过http/json的接口提供SQL优化服务。

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/284606.html<

(0)
运维的头像运维
上一篇2025-05-14 11:55
下一篇 2025-05-14 11:56

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注