OB单选题,我问你答

以下哪种方法不能获取 SQL_ID?

  • A. 查询 GV$OB_SQL_AUDIT

  • B. 对原始 SQL 参数化后进行 MD5 计算

  • C. 使用 EXPLAIN 命令

  • D. 使用 SHOW TRACE 命令

在获取SQL_ID的方法中,EXPLAIN命令主要用于分析SQL语句的执行计划,它并不直接返回SQL_ID,而是展示SQL语句的执行路径、使用的索引、扫描行数等性能信息。因此,它不能用于直接获取SQL_ID。

其他选项中:

  • A选项:查询GV$OB_SQL_AUDIT(或类似动态性能视图如V$SQL)是获取SQL_ID的标准方式之一,尤其在Oracle数据库中,通过该视图可以关联SQL文本与SQL_ID。
  • B选项:对原始SQL进行参数化后计算MD5,是许多数据库系统内部生成SQL_ID的机制之一(如Oracle使用SQL文本哈希值作为SQL_ID的基础)。
  • D选项SHOW TRACE命令在某些数据库系统(如TiDB)中可用于追踪SQL执行,并返回包括SQL_ID在内的执行上下文信息。

综上,四个选项中,EXPLAIN命令是唯一不用于获取SQL_ID,而是用于分析执行计划的。

因此,不能获取SQL_ID的方法是:使用EXPLAIN命令

答案:

C.使用 EXPLAIN 命令

  • D. 使用 SHOW TRACE 命令
1 个赞