【OceanBase诊断调优】—— SQL 执行报错而不能计入 SQL_AUDIT 的情况

通常,执行成果的 SQL 都会计入 SQL_AUDIT 中,而执行报错的 SQL 则需要依据其执行报错的阶段来决定是否计入 SQL_AUDIT 中。

在 OceanBase 数据库中,SQL 请求的执行流程如图所示。

Alt text

如果 SQL 在进入 Executor 阶段前发生报错,则该 SQL 的执行信息无法计入 SQL_AUDIT 中,比如:

  • SQL 中有语法错误,Parser 阶段报错。
  • SQL 中的表或者列不存在,Resolver 阶段报错。

如果 SQL 在 Executor 阶段发生报错,则该 SQL 的执行信息会被统计并写入 SQL_AUDIT 中,比如:

  • Insert 时发生主键冲突错误。
  • SQL 执行时发生超时。

适用版本

OceanBase 数据库所有版本

最近更新

  1. TCP协议是安全的吗?

    2024-05-13 23:40:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-05-13 23:40:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-05-13 23:40:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-05-13 23:40:02       20 阅读

热门阅读

  1. @Validated校验多层json

    2024-05-13 23:40:02       13 阅读
  2. centos7下vim命令笔记-查找字符

    2024-05-13 23:40:02       12 阅读
  3. 【C++】防止头文件被重复包含

    2024-05-13 23:40:02       14 阅读
  4. Cocos Creator 3.8.x报错:5302

    2024-05-13 23:40:02       12 阅读
  5. 消息 队列

    2024-05-13 23:40:02       15 阅读
  6. 在vue3中测试执行typescript代码片段

    2024-05-13 23:40:02       13 阅读
  7. Gauss数据库备份恢复

    2024-05-13 23:40:02       13 阅读