注册
查询结果自动排序问题排查处理过程记录
技术分享/ 文章详情 /

查询结果自动排序问题排查处理过程记录

### 2025/09/05 13 0 0

问题:某语句查询结果自动按照第一个字段内容进行了排序,影响使用,需要按照表数据插入顺序进行返回。
921aadfa4b8754d85e0ec7dc5b53c57e.png

排查步骤:
1、缩减语句,不带where条件查询测试,返回结果没有排序;
2、自己创建测试表,插入几条数据后,使用带where条件的语句查询,返回结果没有排序;
3、分析原语句查询的表结构,及执行计划,发现一个组合索引,刚好与where条件列有关,于是创建类似表结构测试

drop table PXCS;
CREATE TABLE PXCS
(
"data_field_id" VARCHAR(40) NOT NULL,
"data_table_id" VARCHAR(40) NOT NULL,
"data_field_name" VARCHAR(40),
NOT CLUSTER PRIMARY KEY("data_field_id","data_table_id")) ;

insert into PXCS values  ('b','ods_company_basic_info_qcc_area','1'),
('a','ods_company_basic_info_qcc_area','2'),
('c','ods_company_basic_info_qcc_area','3');


select * from PXCS where "data_table_id" ='ods_company_basic_info_qcc_area';

发现该方式查询结果也自动排序
4ddcaf2d83bcc755da10a346ec941bd5.png
执行计划如下
931ba00a96378783d2ba7773270b9474.png

排查ini参数,发现与以下参数默认值为1有关
f2215de378dab4bb6c87b3a463f294d7.png

调整参数值为0后查询结果不再排序

SP_SET_PARA_VALUE(1,'ENABLE_INDEX_FILTER',0)
评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服