---
title: 关于集群隐藏参数 _enable_new_sql_nio 的说明-OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于 关于集群隐藏参数 _enable_new_sql_nio 的说明相关的常见问题和使用技巧，帮助您快速解决 关于集群隐藏参数 _enable_new_sql_nio 的说明的难题。
image: https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*OSPzQ6GUQF4AAAAAQHAAAAgAeiGDAQ/original
---
切换语言

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

划线反馈

# 关于集群隐藏参数 _enable_new_sql_nio 的说明

更新时间：2026-05-15 09:06

适用版本： V3.2.x、V4.0.x、V4.1.x、V4.2.x 内容类型：TechNote  

本文介绍 OceanBase 数据库 V3.2.3 版本中新引入的集群隐藏参数 `_enable_new_sql_nio` 的功能和作用。

OceanBase 数据库早期版本的 SQL IO 的处理都是基于 libeasy 封装的，后来逐渐发现有两类需求在现有框架下很难实现。

- 大部分 SQL 请求都是一来一回的，也即一个请求 Request 一个响应 Response，但是也有例外。在 send long data 协议里（COM_STMT_SEND_LONG_DATA），client 会连续多次给 server 发包，并不要求 server 有 response（即在要求 server 有回复之前，client 会给 server 一次性发多个 Request 包）。很自然地协议要求同一个连接上的多个请求要串行执行，否则语义是不定的。现在 easy 解包之后直接丢给 worker 线程池，无法保证多个请求串行执行。
 - 大部分 SQL 请求都很小，但是 send file local 是例外，实际上这个协议本质是流式的，要求 worker 线程处理过程中源源不断读 socket，明显和现在基于 easy 的封装不匹配。因此为了支持 send_long_data 类的协议，开发了串行的网络框架，申请该配置项，来控制串行的 SQL 框架是否开启。OceanBase 数据库 V3.2.3 中默认不开启，走 easy 网络框架，若开启需要设置为 TRUE，并重启生效。

因此，在 OceanBase 数据库 V3.2.3 版本中引入了一个新的 SQL 网络框架控制参数 `_enable_new_sql_nio`。

```shell
obclient [oceanbase]> select * from __all_virtual_sys_parameter_stat where name like '_enable_new_sql_nio';   // specifies whether SQL serial network is turned on. Turned on to support mysql_send_long_dataThe default value is FALSE. Value: TRUE: turned on FALSE: turned off

```

常用的 SQL：

```shell
obclient [oceanbase]> select * from __all_virtual_sys_parameter_stat where name like '_enable_new_sql_nio';
obclient [oceanbase]> alter system set _enable_new_sql_nio=True;
obclient [oceanbase]> alter system set _enable_new_sql_nio=False;

```

- 参数功能：控制是否开启串行的 SQL 网络框架
 - 数据类型：BOOL
 - 取值范围：TRUE 或 FALSE
 - 默认值：V3.2.3 上是 False，V3.2.4/V4.x 上是 True，OceanBase 数据库 V2.2.77 上则无此参数
 - 生效模式：启动时生效
 - 生效级别：集群级
 - 生效是否需要重启：需要重启

## 注意事项

- OceanBase 数据库 V3.2.3 版本的新网络框架支持还没有很完善，可能触发一些 bug 的风险比较大，因此不建议在 OceanBase 数据库 V3.2.3 上打开该参数。推荐在 V3.2.4 及后续版本使用。
 - 如果使用某些低版本的驱动（如 Go MySQL Driver v1.6.0）来连接 OceanBase 数据库，并插入超过 512KB 的 BLOB 字段，可能会遇到 `Error 1235: Not supported feature or function` 或 `Error 9747: malformed ps packet` 报错，建议先升级驱动到最新的版本，如果仍然报错，可以联系 OceanBase 技术支持检查一下 `_enable_new_sql_nio` 参数是否设置正确。

## 适用版本

OceanBase 数据库 V3.2.3 及后续版本

上一篇

[PDML SQL 性能问题排查](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000245504)

下一篇

[OceanBase SPM 相关 FAQ](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000003137377) ![有帮助](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) 咨询热线
