【DM版本】:dm8
【操作系统】:麒麟
【CPU】:arm
【问题描述】:多查询了一个字段,得到的第二个结果集是错的。
出错点应该是SORT_FLAG=0. 改成SORT_FLAG=1没有问题。但是为什么?SORT_FLAG=0不能用吗?还是需要其他的参数配合?生产环境内存比较小,想用SORT_FLAG=0
有没有高手帮忙解决下?
如下:
1、正确的结果
2、错误的结果
两次查询一模一样。第二次仅比第一次多了个字段。
单表查询。
表结构
CREATE TABLE "TMP_MF_HOUSE"
(
"ID" VARCHAR2(90) NOT NULL,
"HOUSE_NO" VARCHAR2(30),
"REGION_ID" VARCHAR2(90) NOT NULL,
"REGION_NAME" VARCHAR2(150) NOT NULL,
"BUILD_ID" VARCHAR2(90) NOT NULL,
"BUILD_NAME" VARCHAR2(150) NOT NULL,
"CELL_NO" VARCHAR2(3) NOT NULL,
"CELL_NAME" VARCHAR2(150) NOT NULL,
"FLOOR_NO" VARCHAR2(3) NOT NULL,
"FLOOR_NAME" VARCHAR2(150) NOT NULL,
"START_FLOOR_NUM" NUMBER(3,0) NOT NULL,
"END_FLOOR_NUM" NUMBER(3,0) NOT NULL,
"ROOM_NO" NUMBER(10,6) NOT NULL,
"SHOW_NAME" VARCHAR2(150) NOT NULL,
"BDCDYH" VARCHAR2(50),
"ADDRESS" VARCHAR2(300) NOT NULL,
"HOUSE_TYPE" VARCHAR2(2),
"HOUSE_PROP" VARCHAR2(2),
"PRE_CONSTRUCT_AREA" NUMBER(10,3),
"CONSTRUCT_AREA" NUMBER(10,3),
"ACE_AREA" NUMBER(10,3),
"SALE_STATUS" VARCHAR2(1) NOT NULL,
"PRICE" NUMBER(16,2),
"MAJOR_ID" VARCHAR2(90),
"MAJOR_NAME" VARCHAR2(150),
"DEPOSIT_NAME" VARCHAR2(200),
"DUE_AMOUNT" NUMBER(10,2),
"DEPOSIT_SIGN" VARCHAR2(1) NOT NULL,
"MAIN_HOUSE_ID" VARCHAR2(90),
"SKIP_NUM" NUMBER(3,0),
"MERGE_NUM" NUMBER(3,0),
"PUB_CORP_ID" VARCHAR2(90),
"MIX_SIGN" VARCHAR2(1) NOT NULL,
"OPEN_INTERNET" VARCHAR2(1) NOT NULL,
"RECORD_TIME" TIMESTAMP(0),
"RECORD_USER_NAME" VARCHAR2(150),
"AREA_CODE" VARCHAR2(30) NOT NULL,
"DIVISION_CODE" VARCHAR2(30) NOT NULL,
"VERSION_TIME" TIMESTAMP(0) NOT NULL,
"VERSION_STATUS" NUMBER(1,0) DEFAULT 0 NOT NULL,
"REMARK" VARCHAR2(200),
"SEND_SEQ_NO" VARCHAR2(50) NOT NULL,
"IS_COLLECTION" VARCHAR2(1) NOT NULL,
"T_ID" VARCHAR2(36) NOT NULL,
CONSTRAINT "PK_TMP_MF_HOUSE" NOT CLUSTER PRIMARY KEY("ID")) STORAGE(ON "MAIN", CLUSTERBTR) ;
配置文件差异,左边是有问题arm。右边是没问题的x86
sort_flag = 2 或 sort_flag =3
方便发一下sql么,要看看order和limit的写法