暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

数据库学习Q&A 026:如何查看 OceanBase 数据库的 Batch 执行是否生效?

最常用的方法就是通过 gv$sql_audit 来观察 Batch 执行是否生效,以下分几种场景举例:

  • 场景1 的 Batch INSERT 如果生效,会在 gv$sql_audit 中看到如下记录:

      query_sql: insert into test_multi_queries (c1, c2) values (?, ?)
    request_type: 5
      ps_stmt_id: 1
    
      query_sql: insert into test_multi_queries (c1, c2) values (?, ?),(?, ?),(?, ?)
    request_type: 5
      ps_stmt_id: 2
    
      query_sql: insert into test_multi_queries (c1, c2) values (?, ?),(?, ?),(?, ?)
    request_type: 6
      ps_stmt_id: 2
    
  • 场景2 的 Batch INSERT 如果生效,会在 gv$sql_audit 中看到如下记录:

    query_sql: insert into test_multi_queries (c1, c2) values (1, 'PreparedStatement; rewriteBatchedStatements=true&allowMultiQueries=true&useLocalSessionState=true'),(2, 'PreparedStatement; rewriteBatchedStatements=true&allowMultiQueries=true&useLocalSessionState=true'),(3, 'PreparedStatement; rewriteBatchedStatements=true&allowMultiQueries=true&useLocalSessionState=true')
    
  • 场景2 的 Batch UPDATE 如果生效,会在 gv$sql_audit 中看到如下记录:

                query_sql: update test2 set c2='batch update1' where c1=1;update test2 set c2='batch update2' where c1=2;update test2 set c2='batch update3' where c1=3
                ret_code: 0
    is_batched_multi_stmt: 1
    

    注意

    如果 ret_code = -5787 ,这表明 Batch UPDATE 没有生效,需要根据上述说明查找原因。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论