SQL审核 | 新增SQL影响行数预测功能,助力 SQL 优化!

2023年 10月 13日 71.7k 0

2.2304.0-pre2

SQLE Release Notes

SQL审核工具 SQLE 2.2304.0-pre2 于今天发布。以下对新版本的 Release Notes 进行详细解读。

注:本次升级为预览版本,仅可用新功能试用,不保证平滑升级

文章主要分为以下三部分内容:

一、SQLE 项目介绍

二、新版本主要功能介绍

三、完整的 release 信息

一、SQLE 项目介绍

爱可生开源社区的 SQLE 是一款面向数据库使用者和管理者,支持多场景审核,支持标准化上线流程,原生支持 MySQL 审核且数据库类型可扩展的 SQL 审核工具。

SQLE 获取

类型 地址
版本库 https://github.com/actiontech/sqle
文档 https://actiontech.github.io/sqle-docs-cn/
发布信息 https://github.com/actiontech/sqle/releases
数据审核插件开发文档 https://actiontech.github.io/sqle-docs-cn/3.modules/3.7_auditplugin/auditplugin_development.html
社区版在线体验 http://demo.sqle.actionsky.com
超级管理员:admin,密码:admin。
企业版在线体验 http://demo.sqle.actionsky.com:8889
用户:admin,密码:admin。

二、新版本功能亮点

1. SQL分析新增影响行数【企业版】

当用户需要了解SQL实际的影响行数时,现有执行计划中仅能提供预估的影响行数,将与实际存在差异,无法用以评估SQL实际性能。因此,平台在审核结果-SQL分析中,新增影响行数字段,用户可通过查看该条SQL的影响行数,评估其执行性能。以下是简单的功能试用:

用户点击审核结果中的SQL分析,在性能panel中查看该条SQL的影响行数。目前MySQL已支持,Oracle、PostgreSQL、SQL Server 本月也会完成支持。

2. 审核结果突出规则程度及数量

当进行SQL审核时,用户需要了解触发的审核规则的严重程度,确认触发的规则是否有超出自身设置的审核等级。因此,平台对审核结果栏进行优化,优先展示SQL触发的规则等级及数量。以下是简单的功能试用:

用户查看审核结果,查看触发的规则等级及数量

点击展开,查看触发的规则详情

3. 新增一批 MySQL 审核规则

检查LIMIT的偏移offset是否过大

因为offset指定了结果集的起始位置,如果起始位置过大,那么 MySQL 需要处理更多的数据才能返回结果集,这可能会导致查询性能下降。

UPDATE/DELETE操作需要有WHERE条件

因为这些语句的目的是修改数据库中的数据,需要使用 WHERE 条件来过滤需要更新或删除的记录,以确保数据的正确性。另外,使用 WHERE 条件还可以提高查询性能。

禁止过度使用绑定变量

因为过度使用绑定变量会增加查询的复杂度,从而降低查询性能。过度使用绑定变量还会增加维护成本。

连接操作必须指定连接条件

指定连接条件可以确保连接操作的正确性和可靠性,如果没有指定连接条件,可能会导致连接失败或连接不正确的情况。

SQL中使用了COUNT(col)

建议使用COUNT(*),因为使用 COUNT(col) 需要对表进行全表扫描,这可能会导致性能下降。

索引字段需要有非空约束

索引字段上如果没有非空约束,则表记录与索引记录不会完全映射。

执行计划中不能存在索引全扫描步骤

在数据量大的情况下索引全扫描严重影响SQL性能。

执行计划中不能存在索引跳扫

索引扫描是跳转扫描,未遵循最左匹配原则。

update和delete语句评估影响行数过大

如果 DML 操作影响行数过多,会导致查询性能下降,因为需要扫描更多的数据。

禁止对长字段进行排序

对例如VARCHAR(2000)这样的长字段进行ORDER BY、DISTINCT、GROUP BY、UNION之类的操作,会引发排序,有性能隐患。

三、完整的release信息

Release Notes

新增:

  • [#1413] 新增 SQL 影响行数提示【企业版】;

  • [#1432] 新增一批 MySQL 审核规则;

特性:

  • [#1427] 审核结果突出规则程度及数量;

  • [#1412] 部分页面进行优化。

往期版本:

SQL审核结果支持查看改进建议啦!

SQL审核 | SQLE 2.2303.0 来啦!

平台支持集群模式

新增项目级统计看板,支持按项目查看待办

推荐阅读:

这里有 MySQL/Oracle 最常用的 SQL 开发规则

如何快速使用 SQLE 审核各种类型的数据库

SQLE 兼容 MySQL 8.0 测评

SQLE 如何开发一条自定义的规则

如何使用 SQLE 进行开发阶段 SQL 审核

更多关于 SQLE 的信息和交流,请加入官方QQ交流群:637150065...


本文分享自微信公众号 - 爱可生开源社区(ActiontechOSS)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论