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源创计划”,欢迎正在阅读的你也加入,一起分享。