为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【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信息
v$version信息
是否和驱动有关系?应用的驱动版本和管理工具的驱动版本是否一致,搜索select SQL_TEXT,CURR_SCH,USER_NAME,APPNAME,CLNT_IP,CLNT_VER from v$sessions;CLNT_VER列是驱动的版本,如果不一致,可以将应用中的驱动替换到管理工具查验速度,管理工具默认驱动包在F:\dmdbms\tool\dropins\com.dameng\plugins\com.dameng.jdbc.drivers目录下
请打开应用的调试功能确认是否加上并行标识