注册

开启手动并行的同一条sql在达梦管理工具执行很快但在java应用中执行很慢差几十倍

liutw_19 2023/04/14 1964 9

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:8
【操作系统】:Linux version 3.10.0-957.el7.x86_64
【CPU】:18核,Intel(R) Xeon(R) CPU E5-2650 v2 @ 2.60GHz
【问题描述】*:数据库开启手动并行,同一条sql添加并行标识,在达梦管理工具中执行2s,但在java应用中执行时需要几分钟时间。不添加并行标识时,管理工具和java应用中执行时间相同,都是8s

SELECT /*+PARALLEL(8)*/ * FROM ( SELECT TMP_PAGE.*, ROWNUM ROW_ID FROM (with xcjl as (select c_bh,c_bh_xcxx,dt_blrq,n_yd from (select t.*,row_number() over(partition by t.c_bh_xcxx order by dt_cjsj desc) as rs_num from DB_MH.T_XCXX_XCJL t where n_clfs=3)t1 where t1.rs_num = 1) select xcjl.dt_blrq,xcjl.c_bh as xcjlbh,xcjl.n_yd,xc.c_bh,xc.c_bt,xc.c_cbjgmc,xc.dt_tqrq,xc.n_ycxtj,xc.C_FQQRNR, xc.C_HFQRNR from db_mh.t_xcxx xc left join xcjl on xc.c_bh=xcjl.c_bh_xcxx WHERE xc.n_yx=1 and xc.C_TQR='c3f52913f43044699b0410678cc99d0b' and xc.N_ZT IN (2,3) order by xcjl.dt_blrq desc ) TMP_PAGE WHERE ROWNUM <= 10 ) WHERE ROW_ID > 0

java应用中的驱动如下,还试过8.1.1.193,8.1.1.49版本,应用数据库连接池使用DruidDataSource和HikariDataSource都是一样的效果

<dependency> <groupId>com.dameng</groupId> <artifactId>Dm8JdbcDriver18</artifactId> <version>8.1.1.126</version> </dependency>

v$license信息
image.png

v$version信息
image.png

回答 0
暂无回答
扫一扫
联系客服