selcet查询故障

【 使用环境 】测试环境
【 OB or 其他组件 】
【 使用版本 】5.7.25-OceanBase_CE-v4.0.0.0
【问题描述】清晰明确描述问题
【复现路径】问题出现前后相关操作
【问题现象及影响】
select查询语句故障,视频见链接
【附件】链接:https://pan.baidu.com/s/1aLzms7N_mR7YLss5ZRDeDA
提取码:rixm

你好,内部无法访问云盘,可以提供文本描述和复现方式、

explain extended_noaddr
你的 SQL 带 WHERE 条件
;

explain extended_noaddr
你的SQL 不带WHERE 条件
;

两种结果都截图一下。
以及两个表的表结构都发一下。

show create table xxx;

带where


不带where

CREATE TABLE AUTO_TASK (
ID decimal(20,0) NOT NULL COMMENT ‘id’,
NAME varchar(100) NOT NULL COMMENT ‘名称’,
CREATE_TIME datetime NOT NULL COMMENT ‘新建时间’,
UPDATE_TIME datetime DEFAULT NULL COMMENT ‘更新时间’,
DESCRIPTION text DEFAULT NULL COMMENT ‘描述’,
USER_ID decimal(20,0) NOT NULL COMMENT ‘用户编号’,
ORG_ID decimal(20,0) DEFAULT NULL COMMENT ‘部门编号’,
STATE decimal(5,0) DEFAULT NULL COMMENT ‘0 试运行 1 上线 2 运维 3 下线’,
NOTIFY_TYPE varchar(100) DEFAULT NULL COMMENT ‘告警方式 0短信 1微信 2邮箱’,
SAVE_TIME decimal(18,2) DEFAULT NULL COMMENT ‘节省时间 单位 分钟’,
TASK_TYPE decimal(5,0) DEFAULT NULL COMMENT ‘1无人值守流程,0有人值守流程’,
AUTO_SCHEDULER_ID decimal(20,0) DEFAULT NULL COMMENT ‘排班表ID’,
FREQUENCY decimal(20,0) DEFAULT NULL COMMENT ‘执行次数’,
DELETE_TAG decimal(5,0) DEFAULT NULL COMMENT ‘删除标记 0未删除 1已删除’,
AREA_ID decimal(20,0) DEFAULT NULL COMMENT ‘所属区域编号 对应DICT 表ID’,
IF_DECIDE decimal(5,0) DEFAULT NULL COMMENT ‘是否选择纳入到统计 0否 1是’,
MAXIMUM_TIME decimal(18,2) DEFAULT NULL COMMENT ‘最长运行时间’,
OC_TENANT_ID decimal(20,0) DEFAULT NULL COMMENT ‘OC租户表ID’,
CREATE_FOLDER decimal(5,0) DEFAULT NULL COMMENT ‘是否有文件夹0否 1流程文件 2用户文件夹’,
CAPACITY decimal(11,0) DEFAULT NULL COMMENT ‘文件夹容量MB’,
DICT_ID decimal(20,0) DEFAULT NULL COMMENT ‘字典表主键,业务类型’,
MONITORING decimal(5,0) DEFAULT NULL COMMENT ‘是否监控流程最长运行时间 0否 1是’,
SYS_TENANT_ID decimal(20,0) NOT NULL COMMENT ‘系统租户ID’,
TASK_VERSION varchar(255) DEFAULT NULL COMMENT ‘当前版本号’,
PROCESS_NUMBER varchar(32) DEFAULT NULL COMMENT ‘步骤编号’,
PROCESS_ID decimal(20,0) DEFAULT NULL COMMENT ‘步骤编号,备用’,
FOLDER_PATH varchar(255) DEFAULT NULL COMMENT ‘文件夹路径’,
QUEUE_ID decimal(20,0) DEFAULT NULL COMMENT ‘队列ID’,
QUEUE_NAME varchar(255) DEFAULT NULL COMMENT ‘队列名称’,
FOLDER_ID decimal(11,0) DEFAULT NULL COMMENT ‘文件夹ID’,
FOLDER_TYPE decimal(5,0) DEFAULT NULL COMMENT ‘文件夹类型 0传统 1新式’,
THIRD_PARTY_CUSTODY decimal(5,0) DEFAULT NULL COMMENT ‘0普通类型 1第三方存管 2队列’,
RUN_TYPE decimal(5,0) DEFAULT NULL COMMENT ‘运行类型 0串行 1并行’,
VENDOR decimal(5,0) DEFAULT NULL COMMENT ‘产品类型 1 UIPATH 2小灵如意 3艺赛旗’,
TEMPLATE_FLAG decimal(5,0) DEFAULT NULL COMMENT ‘是否有模板 0否 1是’,
TEMPLATE_FILE_PATH text DEFAULT NULL COMMENT ‘模板文件路径’,
TASK_EXPLAIN longtext DEFAULT NULL COMMENT ‘流程说明介绍’,
PICTURE_PATH text DEFAULT NULL COMMENT ‘流程图片地址’,
PROCESS_TYPE decimal(5,0) DEFAULT NULL COMMENT ‘流程类型 1 通用流程 2 定制流程’,
REMARK varchar(255) DEFAULT NULL COMMENT ‘备注’,
TASK_NUMBER varchar(32) DEFAULT NULL COMMENT ‘流程数’,
HAS_HIDE decimal(5,0) DEFAULT NULL COMMENT ‘0标识显示,1标识隐藏’,
PRIMARY KEY (ID),
KEY IDX_ATK_DELETE_TAG (DELETE_TAG) BLOCK_SIZE 16384 LOCAL,
KEY IDX_ATK_IF_DECIDE (IF_DECIDE) BLOCK_SIZE 16384 LOCAL,
KEY IDX_ATK_NAME (NAME) BLOCK_SIZE 16384 LOCAL,
KEY IDX_ATK_ORG_ID (ORG_ID) BLOCK_SIZE 16384 LOCAL,
KEY IDX_ATK_RUN_TYPE (RUN_TYPE) BLOCK_SIZE 16384 LOCAL,
KEY IDX_ATK_STATE (STATE) BLOCK_SIZE 16384 LOCAL,
KEY IDX_ATK_TASK_NUMBER (TASK_NUMBER) BLOCK_SIZE 16384 LOCAL,
KEY IDX_ATK_USER_ID (USER_ID) BLOCK_SIZE 16384 LOCAL,
KEY IDX_AT_CREATE_TIME (CREATE_TIME) BLOCK_SIZE 16384 LOCAL,
KEY IDX_AT_UPDATE_TIME (UPDATE_TIME) BLOCK_SIZE 16384 LOCAL
) DEFAULT CHARSET = utf8mb4 ROW_FORMAT = DYNAMIC COMPRESSION = ‘zstd_1.3.8’ REPLICA_NUM = 1 BLOCK_SIZE = 16384 USE_BLOOM_FILTER = FALSE TABLET_SIZE = 134217728 PCTFREE = 0 COMMENT = ‘流程表’;

CREATE TABLE AUTO_WARNING_LOG (
ID decimal(20,0) NOT NULL COMMENT ‘主键’,
AUTO_TASK_ID decimal(20,0) NOT NULL COMMENT ‘AUTO_TASK表主键’,
AUTO_PROCESS_JOB_ID decimal(20,0) NOT NULL COMMENT ‘AUTO_PROCESS_JOB表主键(获取步骤)’,
CREATE_TIME datetime NOT NULL COMMENT ‘预警创建时间’,
WARNING_TYPE_INFO varchar(50) DEFAULT NULL COMMENT ‘预警类型信息’,
WARNING_MSG longtext DEFAULT NULL COMMENT ‘预警信息’,
PICTURE_PATH varchar(2000) DEFAULT NULL COMMENT ‘图片路径’,
IF_SEND decimal(5,0) DEFAULT NULL COMMENT ‘是否发送成功 0 发送成功,1发送失败’,
SEND_INFO text DEFAULT NULL COMMENT ‘发送信息结果 方式XXX成功,方式XXX失败’,
WARNING_TYPE decimal(5,0) DEFAULT NULL COMMENT ‘预警类型 1 启动失败 2执行失败 3超过最长运行时间’,
PRIMARY KEY (ID),
KEY IDX_AWL_AUTO_PROCESS_JOB_ID (AUTO_PROCESS_JOB_ID) BLOCK_SIZE 16384 LOCAL,
KEY IDX_AWL_AUTO_TASK_ID (AUTO_TASK_ID) BLOCK_SIZE 16384 LOCAL,
KEY IDX_AWL_CREATE_TIME (CREATE_TIME) BLOCK_SIZE 16384 LOCAL,
KEY IDX_AWL_WARNING_TYPE (WARNING_TYPE) BLOCK_SIZE 16384 LOCAL
) DEFAULT CHARSET = utf8mb4 ROW_FORMAT = DYNAMIC COMPRESSION = ‘zstd_1.3.8’ REPLICA_NUM = 1 BLOCK_SIZE = 16384 USE_BLOOM_FILTER = FALSE TABLET_SIZE = 134217728 PCTFREE = 0 COMMENT = ‘预警记录表’

SELECT
t.*
FROM
AUTO_TASK t
WHERE
t.delete_tag = 0
AND t.ID IN (
SELECT DISTINCT
( l.auto_task_id )
FROM
auto_warning_log l
WHERE
l.create_time >= “2023-07-28 00:00:00”
AND l.create_time <= “2023-07-28 23:59:59”
);

在此语句中 in 条件(SELECT DISTINCT
( l.auto_task_id )
FROM
auto_warning_log l
WHERE
l.create_time >= “2023-07-28 00:00:00”
AND l.create_time <= “2023-07-28 23:59:59” )语句中带有where,且独立单独查询时不带where与带where条件查询结果一致(有3条返回数据),但嵌套在in语句中时 不带where 可返回正确3条结果,带where时返回为空数据

/+ no_rewrite/ 我觉得是sql 有改写 加个这个试试 就是 执行错误没有数据的写法