【 使用环境 】测试环境
【 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 有改写 加个这个试试 就是 执行错误没有数据的写法