PawSQL的博客

智能索引推荐、智能SQL优化

  • 博客(42)
  • 资源 (1)
  • 收藏
  • 关注

原创 SQLE、SQM和PawSQL:深度评测企业级SQL审核平台

SQL审核是SQL代码投入生产的最后一道关卡,选择正确的SQL审核工具对于确保确保SQL代码质量至关重要。本文深度评测市场上主流的SQL审核工具,Yearning、Archery、Bytebase的审核模块、爱可生的SQLE、云和恩墨的SQM等,在审核规则覆盖度和审核结果正确性方面的表现。评测结果表明,即使用MySQL规则集作为测试对象,PawSQL在这次测试中表现也是最佳。

2024-06-03 13:27:44 717

原创 PawSQL Advisor最新版,让你告别手动优化SQL的痛苦!

PawSQL Advisor是由PawSQL团队开发的,面向数据库应用开发人员的自动化、智能化SQL优化工具, 它融合了业界关于数据库优化的最佳实践, 从正确性和性能两个方面对SQL进行审查和重写优化;并基于SQL查询的结构、数据库对象的定义及统计信息,提供智能索引推荐功能,帮助数据应用开发人员一键提升应用性能。

2023-07-16 20:28:34 868 5

原创 PawSQL Plan Visualizer,一款让数据库性能优化变得简单直观的神器!

PawSQL Plan Visualizer(PPV)将复杂的执行计划转化为直观的流程图,让DBA能够一目了然地理解SQL的执行路径和关键操作。PPV不仅提高了分析效率,还能快速定位性能瓶颈,实现精准优化。

2024-06-24 07:45:00 710

原创 PawSQL优化 | 分页查询太慢?别忘了投影下推

在进行分页查询时,我们通常需要获取总记录数以计算总页数。传统方法是在原查询上添加count(1)或count(*),但这在面对复杂查询时,会引入不必要的开销。

2024-06-10 21:07:58 707

原创 PawSQL优化 | 投影下推重写优化功能升级!

投影下推是一种SQL重写优化技术,它通过移除在外部查询中未使用的列,来优化数据库查询。这不仅减少了IO和网络的负担,还提高了优化器在规划表访问时选择无需回表的优化选项的可能性。

2024-06-07 15:55:36 300

原创 TPC-H建表语句(MySQL语法)

TPC-H(Transaction Processing Performance Council, Standard Specification, Decision Support Benchmark, 简称TPC-H)是一个非常权威数据库基准测试程序,由TPC组织制定。TPC-H定义了一个包含8个表的模式(Schema),这些表通过外键关联;下面是这八个表之间的关系以及MySQL语法的DDL语句。本文介绍TPC-H建表语句(MySQL语法)。

2024-06-03 14:15:28 243

原创 PawSQL: 企业级SQL审核工具的新玩家

现有的SQL审核工具或者规则覆盖度、或者是在正确率等方面存在明显不足;导致企业在引入产品后难以进行落地。PawSQL作为新兴的企业级SQL审核工具,在设计理念和核心技术上实现了突破性创新。凭借高覆盖度、高正确率和优秀的可扩展性,PawSQL能够为企业提供全方位的SQL质量保障。

2024-05-27 11:27:40 948

原创 SQL审核 | PawSQL的审核规则体系

PawSQL的审核规则体系是以SQL对数据库的操作类型分成三大类,即对象设计、对象操作和数据操作。即使我们通过抽象化、参数化尽量减少审核的规则,PawSQL的整个规则体系也包含了171个审核规则,这些规则对于大多数的数据库都是适用的。

2024-05-21 21:33:29 448

原创 SQL审核 | PawSQL审核引擎的设计目标

经常可以看到市面上的SQL审核工具号称自己审核规则很多,支持的数据库类型很全。实际使用了以后,就会发现审核规则确实很多,一个MySQL数据库类型近200个规则,实际可用、有用的可能就几十条;而对于其他类型数据库,譬如PostgreSQL或openGauss,规则一共可能就几十条。稍微复杂一点的SQL就报语法错误;或是出现大面积的误报或漏报的情况。审查规则越多越好吗?市场上到底需要什么样的SQL审核引擎?看一下SQL优化领域的领先厂商PawSQL如何设计它的SQL审核引擎。

2024-04-25 07:27:35 952

原创 Oracle到PostgreSQL数据库的语法迁移手册(建议收藏)

PawSQL团队开发的DML语法转换工具Ora2pg,通过PawSQL强大的SQLParser,能够解析几乎所有的Oracle语法,并将其转换为对应的PostgreSQL语法,支持数据库应用的平滑迁移。

2024-04-08 11:31:15 1404

原创 从SQL质量管理体系来看SQL审核(4)- 如何设计一个优秀的SQL审核引擎

SQL质量标准确立目标,SQL开发规范指导编码实践,SQL审核工具监督检查,管控流程保证质量关卡,最终形成一个质量保证的闭环。本篇我们来详细地介绍SQL质量管理体系的第三部分,SQL审核引擎。

2024-04-02 11:53:15 708

原创 从SQL质量管理体系来看SQL审核(3)- SQL开发规范

系列包括多篇文章,将从SQL质量管理体系的角度来讨论如何设计一个优秀SQL审核引擎,欢迎订阅。- SQL质量管理体系概览- SQL质量标准本篇我们来详细地介绍SQL质量管理体系的第二个组成部分,的内容。SQL开发规范是一个组织针对组织对于SQL质量的要求,依据SQL质量标准制定的一套标准化的规则和准则。它指导开发人员如何编写高质量、可维护的SQL代码。这些规范可以是非常详细的,包括SQL相关的各个方面,譬如包括范式设计、语法规则、编码风格、命名约定、安全性要求等;

2024-03-25 12:00:00 812

原创 月之暗面Kimi代码分析能力评测

其中对于。

2024-03-25 08:00:00 1696

原创 从SQL质量管理体系来看SQL审核(2) - SQL质量标准

介绍了SQL质量管理体系的四个主要组成部分,SQL质量标准确立目标,SQL开发规范指导编码实践,SQL审核工具监督检查,管控流程保证质量关卡,最终形成一个质量保证的闭环。SQL代码的可维护性标准是指SQL语句本身拥有清晰的结构、统一的风格和完备的注释,使得代码逻辑一目了然,方便其他开发人员快速理解、修改和维护。SQL质量标准是评估SQL语句质量的一系列标准和要求,它们涵盖了多个维度,确保SQL语句具有正确性、高效性、可维护性、安全性等重要特征。

2024-03-18 16:35:54 510

原创 从SQL质量管理体系来看SQL审核(1)

SQL质量管控流程是贯穿SQL应用整个生命周期的质量保证实践,通过在开发、测试、集成、发布和运维等各个环节设置自动化质量关卡,持续监控和分析SQL质量数据,并以此为反馈持续优化质量标准、规范和工具,形成闭环式质量管理体系,确保高质量SQL应用的高效交付。SQL审核工具是一种自动化的软件工具,通过静态代码分析、质量规则检查和优化建议等功能,帮助开发人员发现和修复SQL语句中潜在的质量缺陷、性能瓶颈和安全隐患,从而提高SQL代码的正确性、效率、可读性、可维护性和安全性。

2024-03-12 21:59:30 1061

原创 PawSQL教你这个SQL换一种写法,性能提升1000倍!

本篇介绍PawSQL优化引擎中的COUNT标量子查询重写优化,从正文可以看到,通过此重写优化,SQL性能的提升超过1000倍!

2024-03-07 11:54:28 492

原创 如何通过SQL语句获取表/视图的DDL,表/列/索引的统计信息,查询的执行计划(MySQL)

如何通过SQL语句获取MySQL数据库中表/视图的DDL,表/列/索引的统计信息,SQL的执行计划

2024-02-21 21:52:48 1238

原创 PawSQL 常见问题解答

一站式SQL优化平台PawSQL常见问题解答。

2024-02-21 12:00:57 1032

原创 EverSQL向左,PawSQL向右

去年年末,领先的云数据平台独角兽企业Aiven,业内对数据库优化领域的关注持续升温。作为和EverSQL处于同一赛道的PawSQL,乘着这个春节,聊一聊EverSQL和PawSQL两家公司的区别,并探讨了中外创业环境的差异如何影响创业公司的发展路径,以及PawSQL未来的战略布局。

2024-02-05 10:52:06 930 2

原创 PawSQL更新 | 新增18个SQL性能审核重写规则

PawSQL最新版本针对DML和DQL新增了审核和重写优化规则共计33个,整体的规则数目达到了83个,覆盖了正确性,安全性、可维护性、性能四个方面的SQL质量问题,并提供了优化建议,已经形成比较完善的针对数据操作的SQL质量审查体系。本文介绍其中新增的11个正确性相关的审核规则。

2024-01-29 17:40:47 1054

原创 PawSQL更新 | 新增7个SQL可维护性/安全性规则

PawSQL最新版本针对DML和DQL新增了审核和重写优化规则共计33个,整体的规则数目达到了83个,覆盖了正确性,安全性、可维护性、性能四个方面的SQL质量问题,并提供了优化建议,已经形成比较完善的针对数据操作的SQL质量审查体系。

2024-01-26 07:30:00 858

原创 PawSQL更新 | 新增9个SQL正确性审核规则

PawSQL最新版本针对DML和DQL新增了审核和重写优化规则共计33个,整体的规则数目达到了83个,覆盖了正确性,安全性、可维护性、性能四个方面的SQL质量问题,并提供了优化建议,已经形成比较完善的针对数据操作的SQL质量审查体系。本文介绍其中新增的9个正确性相关的审核规则。

2024-01-24 16:39:57 943

原创 高级SQL优化 | 如何优化Order by Random

我们经常看到SQL优化规范要求避免order by random,原因是什么?有什么其他的替代方案吗?

2024-01-08 21:48:46 813

原创 最全的Oracle到高斯数据库的SQL语法迁移手册(建议收藏)

异构数据库的迁移(譬如从Oracle迁移到openGauss)工作主要包括三个方面,数据库对象的迁移;数据内容的迁移,主要指的是数据表中数据的迁移;数据应用的迁移,主要指的是应用中SQL语句的迁移。目前对于数据库对象以及数据内容的迁移有很多成熟的工具,而对于应用迁移的工具却很少能够见到。PawSQL团队开发的DML语法转换工具Ora2ogSQL,通过PawSQL强大的SQLParser,能够解析几乎所有的Oracle语法,并将其转换为对应的openGauss语法,支持数据库应用的平滑迁移。

2023-12-25 20:45:31 4237 1

原创 关于PawSQL Cloud服务异常及服务策略调整的说明

同时由于异常宕机,导致12/13日之后的数据丢失,其中包括113名新用户的注册信息及创建的工作空间、优化任务等信息,无法进行恢复。PawSQL Cloud是PawSQL团队推出的面向个人用户的SQL优化平台。为了保证所有用户都可以免费体验一键进行SQL优化,将于近期对PawSQL Cloud的服务策略进行调整。或关注PawSQL微信公众号,提供注册邮件截图(请包括注册时间),我们将直接将其升级为高级用户。

2023-12-21 09:51:49 459

原创 `OR`连接的条件重写为`UNION`

你经常看到SQL优化技巧中说不要使用OR条件,这总是正确的吗?;不适用OR使用UNION一定能提升SQL性能吗?本文告诉你答案。

2023-12-18 09:57:08 960

原创 高级SQL优化之过滤谓词下推

过滤谓词下推(Filter Predicate Pushdown,简称FPPD)优化不是索引条件下推(Index Condition Pushdown,简称ICP)优化。ICP是在SQL执行时,把过滤条件下推到在存储引擎层进行数据过滤,减少在服务层的数据处理压力,进而提升SQL执行性能,ICP属于执行优化。FPPD优化通过尽可能的 “下压” 过滤条件至SQL中的内部查询块,提前过滤掉部分数据, 减少中间结果集的大小,减少后续计算需要处理的数据量,进而提升SQL执行性能,FPPD属于重写优化。

2023-10-22 22:42:37 167 1

原创 知乎SQL优化挑战赛 - 题目2解析

通过四步优化,改变了表关联的顺序、消除了全表扫描、避免了回表、避免了临时表聚集运算、避免了排序,执行时间从580.661 ms- >255.78 ms- >222.879 ms- >168.694 ms- >164.180 ms, 性能提升了263.65%,且减少了聚集排序使用的内存。

2023-09-07 16:49:15 114 1

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

数据库SQL性能优化新姿势来袭,3步上手PawSQL Cloud,智能重写优化,基于代价的索引推荐。新增Oracle/人大金仓语法支持,支持的数据库包括MySQL/PostgreSQL/openGauss/Oracle/人大金仓等。

2023-07-27 15:02:36 330 1

原创 如何对Mybatis里的SQL进行优化?

PawSQL为了方便应用开发人员进行SQL性能调优,提供了基于Mybatis的mapper文件创建SQL优化任务的功能,让应用开发人员在页面上通过鼠标操作,完成其应用的SQL性能优化。

2023-06-14 18:35:19 676

原创 PawSQL Cloud新功能精选(0424)

PawSQL Cloud 0424版本主要的新功能包括新增了IN子查询重写优化、全面支持PostgreSQL和MySQL分析函数、What-If性能验证analyze支持、集成ChatGpt的查询优化能力。

2023-04-24 16:28:47 141

原创 避免使用SELECT *的9个理由及2个例外

本文从两个角度阐述避免使用SELECT *的9个理由,同时讨论两个合理使用SELECT *的例外场景

2023-03-29 10:14:37 990

原创 高效数据库索引的准则-PawSQL索引引擎的工作逻辑

创建高效的索引最重要的原则是,基于您的工作负载(workload)创建索引,而不是基于您的表结构。 本文介绍索引创建时需遵循一些准则,以达到最佳的查询性能和数据维护效率,这些准则也是PawSQL索引推荐引擎的内部工作逻辑。

2023-03-05 21:03:03 359

原创 数据库索引的类型

本文介绍常见的数据库索引类型,及其优缺点,包括B树索引、哈希索引、空间索引、位图索引,聚簇索引、条件索引、函数索引等。

2023-02-27 22:42:14 841

原创 高级SQL优化 - 表连接消除(Join Elimination)

由于原生的MySQL和PostgreSQL都不支持表关联消除,PawSQL的JoinEliminationRewrite重写优化对它们是一个有意义的补充。在SQL被部署至生产环境真正执行之前,使用PawSQL可以把无意义的表关联给消除掉,避免数据库花费资源进行无意义的表关联操作。

2023-02-16 21:16:16 334

原创 PawSQL一周报告

1. 完成PawSQL Engine的Docker镜像构建,PawSQL Engine是一个可以独立部署的优化引擎组件,通过http/json服务的形式提供PawSQL的专业的SQL优化能力,以便于和现有的数据库监控平台集成。1.提供一个demo用户,账号/密码(demo@pawsql.com/ demo@pawsql.com),预置了几个典型的SQL重写优化和索引推荐的案例,免注册体验PawSQL的强大优化能力。3. 优化了Or2Union重写优化规则及SATTC重写优化规则。

2022-11-11 18:12:27 404

原创 最好的在线SQL优化平台 - PawSQL Cloud来了

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

2022-10-31 15:41:52 4102

原创 一文解决SQL查询中关于NULL的陷阱

一文解决SQL查询中关于NULL的陷阱NULL值处理是应用开发人员最容易出错误的地方,主要的原因是大家习惯使用二元的布尔逻辑来思考判断,而数据库对于NULL值的处理逻辑是三值逻辑。事实上,数据库优化器中缺陷最多的其实也是和NULL值处理相关的逻辑。即使是有着几十年历史的DB2/Teradata等成熟的数据库软件,仍然有超过20%的缺陷和NULL处理相关。本文深度解析NULL值陷阱出现的根本原因,总结了简单有效的判断逻辑;同时针对日常开发中四种常见陷阱,解释其适用条件及解决方案;最后介绍了PawSQL A

2022-08-23 18:15:00 833

原创 一个专注SQL优化的IDEA插件(支持DataGrip/Pycharm等) - PawSQL Advisor

PawSQL Advisor除了集成了Paw Index Advisor强大的索引推荐功能外,还把业界关于关系数据库查询优化最佳实践整合其中,从正确性和性能两个方面对SQL进行审查和重写优化,一站解决SQL性能优化问题。

2022-08-10 17:06:01 4917 5

原创 索引推荐神器Paw Index Advisor使用手册(2)-语法支持

我们知道索引的作用有如下三个:快速定位数据记录(等值条件、范围条件);避免排序(order by/group by/distinct/union/sort merge join);避免回表,即只访问索引文件而不访问数据表就可以完成查询操作。

2022-05-06 16:02:58 811 3

时间都去哪儿了 - 深入学习SQL查询优化

数据库、数据库性能、SQL优化、优化器、查询优化、性能调优

2022-05-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除