---
title: "查询超时变量 - OceanBase 数据库 V4.1.0 | OceanBase 文档中心"
description: 查询超时变量 OceanBase 数据库的查询超时功能用于避免长时间不返回的查询长期占用工作线程资源以及可能占用 CPU 资源。 OceanBase 数据库租户内部执行查询的工作线程数跟租户的 CPU 个数相关，所以工作线程是很稀有的资源。如果查询长时间不返回，就会一直占用此工作线程资源。 OceanBase 数据库…
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 4.1.0

# 查询超时变量

更新时间：2023-07-28 10:45:57

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.1.0/zh-CN/300.develop/100.application-development-of-mysql-mode/400.read-data-of-mysql-mode/1100.query-timeout-variables-of-mysql-mode.md)  

OceanBase 数据库的查询超时功能用于避免长时间不返回的查询长期占用工作线程资源以及可能占用 CPU 资源。

OceanBase 数据库租户内部执行查询的工作线程数跟租户的 CPU 个数相关，所以工作线程是很稀有的资源。如果查询长时间不返回，就会一直占用此工作线程资源。

OceanBase 数据库的查询超时时间默认由租户变量 `ob_query_timeout` 控制，默认值是 10000000（单位，微秒）。当查询时间超过该变量值后，会返回错误 `-4012(HY000): Timeout`。

超时变量的默认值对于 OLTP 类业务来说是合理的，但是对于 OLAP 类业务就不一定适用，这种情况下，用户可以选择在会话级别调整租户超时变量的值，或者使用 SQL Hint 设置查询超时时间。

## 查询超时变量示例

### 查看当前查询超时时间

```sql
obclient> SHOW VARIABLES LIKE 'ob_query_timeout';
+------------------+----------+
| Variable_name    | Value    |
+------------------+----------+
| ob_query_timeout | 60000000 |
+------------------+----------+
1 row in set

```

### 在会话级别调整租户的查询超时时间

```sql
obclient> SET SESSION ob_query_timeout=10000000;
Query OK, 0 rows affected

obclient> SELECT SLEEP(11);
ERROR 4012 (HY000): Timeout

```

### 使用 SQL Hint 设置查询超时时间

```sql
obclient> SELECT /*+ QUERY_TIMEOUT(100000000) */ SLEEP(11);
+-----------+
| SLEEP(11) |
+-----------+
|         0 |
+-----------+
1 row in set

```

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
