---
title: INT 类型字段传入 DOUBLE 类型数据，导致全表扫描-OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于 INT 类型字段传入 DOUBLE 类型数据，导致全表扫描相关的常见问题和使用技巧，帮助您快速解决 INT 类型字段传入 DOUBLE 类型数据，导致全表扫描的难题。
---
切换语言

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

划线反馈

# INT 类型字段传入 DOUBLE 类型数据，导致全表扫描

更新时间：2025-09-11 06:31

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

## 问题现象

一条简单的查询 SQL，执行时间超过 60s，SQL如下：

```shell
obclient SELECT * FROM histories WHERE id = ? ORDER BY created_at ASC, id ASC LIMIT ?;

```

建表语句如下：

```sql
CREATE TABLE `histories` (
 `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'id',
 `history_type` int(11) DEFAULT NULL,
 `user_id` varchar(255) DEFAULT NULL,
 `content` longtext DEFAULT NULL,
 `created_at` datetime DEFAULT CURRENT_TIMESTAMP,
 `updated_at` datetime DEFAULT CURRENT_TIMESTAMP ON
 UPDATE
   CURRENT_TIMESTAMP,
   `file_guid` varchar(50) DEFAULT NULL,
   PRIMARY KEY (`id`),
   KEY `histories_file_guid_keys` (`file_guid`) BLOCK_SIZE 16384 LOCAL,
   KEY `idx_histories_file_guid_keys` (`file_guid`, `history_type`, `updated_at`) BLOCK_SIZE 16384 LOCAL
);

```

id 字段为主键，查询 SQL 属于点查，正常情况不应该会出现全表扫描。

## 问题原因

经过对日志进行排查，发现应用在传参时，id 字段传入的是 double 类型，具体日志如下：

![1](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/knowledge-base/database/sql-1/15000.int-type-field-is-passed-with-Duale-type-data-causing-a-full-table-scan/1.png)

## 影响版本

OceanBase 数据库 4.2.4 之前版本。

## 解决方法

- 根本解决方法：

  升级 OceanBase 数据库版本至 V4.2.4 和 V4.3.5 及以上版本。
 - 临时解决方法：

  修改传入参数的类型。

上一篇

[SQL 查询报内部错误 ora-00600 -4016](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000003810812)

下一篇

[如何查看租户中的隐藏配置项和变量](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000005648251) ![有帮助](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) 咨询热线
