【DM版本】:
select * from v$instance;
DM Database Server 64 V8
DB Version: 0x7000c
【操作系统】:
cat /etc/os-release
Kylin Linux Advanced Server V10 (Lance)
【CPU】:
lscpu
aarch64
Karunpeng-920
【问题描述】:
表范围分区+普通索引+context index全文索引,查询提示错误码6141执行指令过长。
虽然没有对全文索引做增量和全量更新,索引最多失效,查询效率降低,不应该引起这么大的副作用
【复现过程】:
1、建表,插入数据,查询
其中c1列无索引,c2列有btree索引,c3列有全文索引
1)在非索引列c1上查询,执行正常
2)在普通索引列c2上查询,执行错误
2、去掉表分区,查询都执行正常
3、去掉全文索引,查询都执行正常
【其他】:
附复现sql
drop table tb_pt_test;
-- 1、按月自动分区
create table tb_pt_test (id varchar(64) not null, c1 VARCHAR, c2 VARCHAR, c3 VARCHAR, create_time timestamp)
PARTITION BY RANGE
(
create_time
)
INTERVAL
(
NUMTOYMINTERVAL (1, 'month')
)
( PARTITION P_BEFORE_2024 VALUES LESS THAN (TO_DATE ('2024-01-01', 'yyyy-mm-dd'))) STORAGE
(
FILLFACTOR 85,
BRANCH(32,32)
);
-- 2、对主表的c2列创建默认索引
create index idx_tb_pt_test_c2 on tb_pt_test(c2);
-- 3、对主表的c3列创建全文索引
create context index idx_tb_pt_test_c3 on tb_pt_test(c3) LEXER DEFAULT_LEXER;
-- 4、插入一条数据
INSERT INTO tb_pt_test VALUES ('1', 'v11', 'v12', 'v13', '2024-03-01 09:00:00');
-- 5.1、查询,条件字段上无索引
select * from tb_pt_test where c1 = 'v11';
-- 5.2、查询,条件字段上有索引
select * from tb_pt_test where c2 = 'v12';
select id_code;


查询一下具体的版本,我再本地测试没有出现你上述说的问题。我用的23年12月份的版本