---
title: 表中一行设置了过期时间，但是时间到了还能查到-OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于表中一行设置了过期时间，但是时间到了还能查到相关的常见问题和使用技巧，帮助您快速解决表中一行设置了过期时间，但是时间到了还能查到的难题。
---
切换语言

- 简体中文
- English

划线反馈

# 表中一行设置了过期时间，但是时间到了还能查到

更新时间：2026-05-21 01:56

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

## 适用版本

OceanBase 数据库 V4.x 版本。

## 问题描述

测试环境表中有一行设置了过期时间， 但是时间到了还能查到。需要查明为什么设置了过期时间无效？

表结构：

```shell
CREATE TABLE `xxx` (
  `id` varchar(256) NOT NULL COMMENT '信号id',
  `poi_id` varchar(256) DEFAULT NULL COMMENT 'poiId',
  `name` varchar(256) DEFAULT NULL COMMENT '信号名称',
  `x` varchar(32) DEFAULT NULL COMMENT '经度',
  `y` varchar(32) DEFAULT NULL COMMENT '纬度',
  `addr` varchar(1024) DEFAULT NULL COMMENT '地址',
  `type` varchar(128) DEFAULT NULL COMMENT '类型',
  `status` varchar(8) DEFAULT NULL COMMENT '状态',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  `ext` longtext DEFAULT NULL COMMENT '扩展信息',
  `exp_info` longtext DEFAULT NULL COMMENT '实验信息',
  `expire_ts` timestamp NULL DEFAULT NULL COMMENT '过期时间',
  PRIMARY KEY (`id`)
) DEFAULT CHARSET = utf8mb4 ROW_FORMAT = DYNAMIC COMPRESSION = 'zstd_1.3.8'
REPLICA_NUM = 2 BLOCK_SIZE = 16384 USE_BLOOM_FILTER = FALSE
TABLET_SIZE = 134217728 PCTFREE = 0
TTL = (expire_ts + INTERVAL 0 SECOND) ...

```

以下数据都过期了还能查到。

```shell
select * FROM xxx where id = 'XXXX';

```

## 问题原因

数据过期之后不会立即删除，需要等待 TTL 任务执行的时候才会删除数据（可以通过设置定时任务在业务低峰期进行，避免对业务造成影响）。对于过期数据，需要使用 OBKV 的接口才能过滤掉，SQL 的接口暂时还没有支持过滤。

注意事项：暂时先不要在有定义 default current_timestamp 和 on update current_timestamp 的时间列上定义 TTL 规则。

数据可见性说明的更多信息，参见 [过期数据删除功能](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000218144)。

## 解决方法

执行以下 SQL。

```shell
obclient> alter system set enable_kv_ttl = true
obclient> ALTER SYSTEM trigger ttl;

```

Previous

[查询表时表不存在，错误代码 ORA-04043](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000217890)

Next

[Oracle 租户下使用虚拟列报 ORA-12899: value too large for column](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000298689) ![有帮助](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) 咨询热线
