# [FAQ] 如果使用 Java 的 Batch Job 设置 allowMultiQueries = true 后，TiDB_query_duration 不准确的问题/误报警

## Key Words

Java,Batch,Multi-query,allowMultiQueries,tidb_server_handle_query_duration_seconds_bucket

## Description

集群大量的 TiDB_query_duration 告警，通过 TiDB dashboard → Details query 99 duration 监控看到延迟是 2s 左右，随后从 Prometheus 平台看到也是如此。

但是从 TiDB Dashboard 和 Slow Query 日志以及手动执行均没有出现超过 1 s 的延迟情况。
另外客户采用的 Java 客户端链接到 TiDB，也没有明显报错和异常指向。

## Content

在 Java client 配置，由于 TiDB 支持 Multi-Query，因此，可以接受客户端一次性发送多条 SQL 语句，如 insert into t1 values(1, 'aaaaa');insert into t1 values(1, 'aaaaa');。此时，统计的执行时间是所有 SQL 语句执行完之后的总时间，且耗时归集在最后一个 COM_QUERY，即末尾为 insert，则全部耗时记在 insert ，若末尾为 update，亦是。咨询业务，得到确实使用了 allowMultiQueries=true ，且耗时增长的期间均为跑批时间。横向对比 mbr2/mbr1 ，问题类似，因设置告警阈值足够大(3s/10s)，故未察觉。该告警和业务行为相关。

### 解决方法

无实际影响，临时放大阈值，和业务用法相关。

## Affected Versions

N/A