跳到主要内容

4. 审核结果

审核任务列表

SQL审核列表页包括的重要信息。

  1. 列表标题与功能:
    • 标题为"审核列表",展示了所有SQL审核任务的概况
    • 顶部有搜索框,可根据SQL或任务名称快速查找特定审核任务
    • "创建审核"按钮,用于启动新的SQL审核任务
  2. 审核任务基本信息:
    • 审核名称:如Audit_WL_2024053011O1,唯一标识每个审核任务
    • 工作空间:部分任务显示了具体的工作空间,如WP_DDL.File_202405221623
    • SQL数目:每个任务审核的SQL语句数量,范围从8到29不等
    • 审核模板:所有任务都使用"MySQL最佳模板"进行审核
  3. 审核结果与质量评估:
    • 平均评分:反映SQL质量的数值指标,从5分到77分不等
    • 审核级别:使用不同颜色和标签表示SQL问题的严重程度
      • 红色"严重":表示有严重问题需要立即修复
      • 黄色"警告":表示有需要注意的问题
      • 蓝色"建议":表示有可以改进的地方
    • 问题数量:每个级别后的数字表示该类问题的数量,如"严重:1 警告:222 建议:16"
  4. 任务管理信息:
    • 创建人:所有任务均由Admin创建,表明可能是管理员或主要负责人
    • 创建时间:记录任务创建的准确时间,按时间倒序排列(最新的在前)
    • 操作:每行末尾的"删除"按钮,允许移除不需要的审核任务

image-20240531220531916

审核任务概要

SQL审核的概要部分包括以下重要信息:

  1. 审核概要: 显示了审核的基本信息,如审核名称(Audit_WL_202405242237)和审核模板(MySQL巡检模板)。
  2. 创建人: 审核是由Admin创建的。
  3. 创建时间: 审核创建的时间是2024年5月24日 22:37:37。
  4. SQL数目: 审核中包含的SQL语句总数是29条。
  5. 平均评分: 审核给出的平均评分是70分。

此外,页面还展示了两个圆形图表:

  1. SQL类型:SQL类型分布,主要分为DDL/DML/Query/其它
  2. 风险级别:风险级别分布,颜色区分表示不同级别的风险(红色代表高风险,绿色代表低风险)

该页面具有以下分析功能

  1. 审核规则展示:页面右侧列出了Top 5的审核规则,如"对象命名规范加强"、"对于入参建议使用强制约束"等,并显示了每条规则的使用次数。
  2. SQL类型分类:通过圆形图表直观地展示SQL语句的类型分布。
  3. 风险级别分析:使用圆形图表展示不同级别风险的分布情况,帮助快速识别高风险区域。
  4. 评分范围筛选:底部有一个滑动条,可以根据SQL语句的评分范围进行筛选,聚焦于特定评分区间的SQL语句。
  5. SQL语句列表:展示每条SQL语句的详细信息,包括SQL内容、类型(如DDL)、审核结果(如"严重"、"建议"等)以及得分。
  6. 筛选功能:页面顶部有"选择规则"和"SQL类型"的下拉菜单,允许用户根据特定规则或SQL类型进行筛选,实现精确分析。

image-20240531220605255

审核详情

SQL审核的详情部分展示了针对特定SQL语句的深入分析,包括以下重要信息:

  1. 审核对象:显示了当前被审核的SQL语句全文。在这个例子中,是一个创建表的DDL语句:

    CREATE TABLE REGION (
    R_REGIONKEY INT NOT NULL,
    R_NAME CHAR(25) NOT NULL,
    R_COMMENT VARCHAR(152) DEFAULT NULL
    ) ENGINE=INNODB DEFAULT CHARSET=UTF8MB4 COLLATE=UTF8MB4_0900_AI_CI
  2. 违反的审核规则:列出了这条SQL语句违反的具体规则,每条规则都有明确的描述和严重程度标识: a. 表必须有注释(警告级别)- REGION表缺少注释 b. 表必须有主键(严重级别)- REGION表未定义主键 c. 禁止在表上定义数据从字符集(警告级别)- REGION(UTF8MB4)违反了这一规则 d. 非空列需指定默认值(警告级别)- R_NAME和R_REGIONKEY列是非空列,但未指定默认值

  3. 规则严重程度:使用不同的图标和颜色来表示规则违反的严重程度:

    • 红色感叹号(⛔):表示严重级别,如"表必须有主键"
    • 黄色三角形(⚠):表示警告级别,如"表必须有注释"等
  4. 相关对象:明确指出哪些数据库对象(如表、列)违反了规则:

    • REGION表:缺少注释、主键
    • REGION(UTF8MB4):数据库字符集问题
    • R_NAME, R_REGIONKEY列:非空但无默认值
  5. 审核结果反馈:在每条违反规则的描述旁边有一个竖起大拇指的图标(👍),可能用于用户对审核结果进行反馈,如标记误报或确认问题。

通过这个详细的审核报告,开发人员可以清楚地了解到:

  1. 这个CREATE TABLE语句有多个问题需要修正。
  2. 最严重的问题是没有定义主键,这可能会导致数据完整性和性能问题。
  3. 其他问题如缺少表注释、使用非标准字符集等,虽然是警告级别,但也应该根据组织的最佳实践进行调整。
  4. 非空列缺少默认值,这在某些情况下可能会导致插入数据时的问题。

这种详细的审核报告不仅指出了问题,还提供了问题的严重程度和具体位置,有助于开发人员快速定位并修复SQL语句中的各种问题,从而提高数据库设计和SQL编写的质量。

image-20240531220651747