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

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

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

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

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

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

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

适用版本

OceanBase 数据库所有版本

相关推荐
sekaii8 分钟前
ReDistribution plan细节
linux·服务器·数据库
焱焱枫44 分钟前
自适应SQL计划管理(Adaptive SQL Plan Management)在Oracle 12c中的应用
数据库·sql·oracle
2301_793069821 小时前
Spring Boot +SQL项目优化策略,GraphQL和SQL 区别,Spring JDBC 等原理辨析(万字长文+代码)
java·数据库·spring boot·sql·jdbc·orm
hhw1991121 小时前
spring boot知识点5
java·数据库·spring boot
ITPUB-微风2 小时前
功能开关聚合对象实践:提升金融领域的高可用性
网络·数据库·金融
去看日出2 小时前
Linux(centos)系统安装部署MySQL8.0数据库(GLIBC版本)
linux·数据库·centos
Hanyaoo2 小时前
为什么mvcc中?m_ids 列表并不等同于 min_trx_id 和 max_trx_id 之间的所有事务 ID
数据库
偏右右2 小时前
PL/SQL 异常处理
数据库·sql·oracle
利瑞华3 小时前
Redis 存在线程安全问题吗?为什么?
数据库·redis·安全
小金的学习笔记3 小时前
如何在本地和服务器新建Redis用户和密码
服务器·数据库·redis