为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:
【操作系统】:麒麟V10
【CPU】:鲲鹏920
【问题描述】
现有两个DM8数据库,版本分别为:
序号 | IP | 版本号 |
---|---|---|
1 | 10.29.143.20 | 1-2-138-2022.09.09-169171-20009-ENT (以下简称"22版") |
2 | 10.29.29.4 | 1-3-140-2024.05.27-229704-20093-ENT (以下简称"24版") |
原始数据如下:
SELECT tenant_id,PARENT_CODE_VALUE,CODE_NAME, CODE_VALUE,LEVEL as le,"LEVEL" as cu_le
FROM HOLLYICS.tbl_sys_tree_dic_code
WHERE CODE_TYPE_VALUE ='administrative_division_code'
and tenant_id = 'T000'
and CODE_VALUE in ('130105','130100','130000');
!
1、在22版数据库中,查询出的数据如下:(正确数据)
2、在24版中,查询出的数据如下:(错误数据)
3、在执行计划层面,发现两者的执行计划不同。
22版的执行计划如下:(数据正确)
24版的执行计划如下:(数据错误)
4、未在dm.ini中,找到与层次查询中level字段相关的参数。
问题1:无论LEVEL字段是否加引号,所呈现的值都是虚列,而非LEVEL字段。所以,是否在层次查询中,关键字屏蔽功能失效?
问题2:在22版数据库中,level虚列的排序与24版中level虚列的排序方式不一样,且没有相关的dm.ini的参数进行控制。所以,是否在查询层面存在某些潜在的问题?
问题1:新版本已支持区分伪列和实际字段
问题2:2个库的ini参数CNNTB_OPT_FLAG是否一样?可能是该参数影响