为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:DM8
【操作系统】:linux
【CPU】:
【问题描述】*:
这个查询很慢,要二三十秒起步,怎么才能优化一下到毫秒级。
试一下加个HINT /+ ADAPTIVE_NPLN_FLAG(0)/
1、表a:过滤条件SBZT + 连接字段SHXYDM、SBUUID创建联合索引
2、表b:连接字段SBUUID + 过滤字段RKRQ创建联合索引
3、表c:连接字段unite_social_code + tax_revenue_code创建联合索引
4、表d:连接字段code创建索引
这样试试
可以试下禁用走哈希连接,应该可以提前返回,
方法:/+enable_hash_join(0)/

创建复合索引:
/*
create index bjgh_dw.idx_bjgh_dw_sb_sbb_idx20260305 on bjgh_dw.bjgh_dw_sb_sbb (SBZT,SBUUID ,SHXYDM,SBXH) ;
stat 100 on index bjgh_dw.idx_bjgh_dw_sb_sbb_idx20260305 ;
*/
分析执行计划:bjgh_dw_sb_sbb上咨询的全备扫描消耗最大,建议创建复合索引。