---
title: 应用侧 SQL 执行耗时远高于数据库内的问题-OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于应用侧 SQL 执行耗时远高于数据库内的问题相关的常见问题和使用技巧，帮助您快速解决应用侧 SQL 执行耗时远高于数据库内的问题的难题。
---
切换语言

- 简体中文
- English

划线反馈

# 应用侧 SQL 执行耗时远高于数据库内的问题

更新时间：2026-07-31 09:11

适用版本： V1.x、V3.x、V4.x 内容类型：Troubleshoot  

## 适用版本

OceanBase 数据库、ODP 所有版本。

## 问题现象

业务在测试环境执行时，从应用侧观测到 SQL 平均耗时 2ms，而在生产环境执行时耗时变成了 30~40ms，但数据库内的 SQL 耗时并没有增长。

## 问题原因

业务执行 SQL 采用 prepare+execute 的方式，使用 tcpdump 分别在 2883（ODP） 和 2881（OBServer）端口抓包对比，发现 ODP 把 prepare 发送到 OBServer 延迟了 30+ms。

ODP 延迟发送是因为 TCP 的 Delay ACK 行为，与生产环境 ODP 参数 `socket_option_flag_out` 的设置有关。本示例中 `client_socket_option_flag_out` 和 `socket_option_flag_out` 都设置为 3，即打开 KeepAlive 和 NoDelay，而生产环境这两个参数都设置为 2，即打开 KeepAlive 并使用 Delay 算法。

## 解决方法

修改 `socket_option_flag_out` 参数为 3，打开 NoDelay。

Previous

[ODP 会话中断报错: VC_EVENT_INACTIVITY_TIMEOUT](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000210038)

Next

[ODP 无法正确路由的几种场景](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000210051) ![有帮助](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) 咨询热线
