为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】: dm8
【操作系统】:
【CPU】:
【问题描述】*:数据库执行预编译sql慢。有一条sql,在管理工具执行时速度正常,在java程序中执行不出结果超时。排查后,发现在管理工具中,执行时,有一段AND (ui.IDCARDNO LIKE ?
OR ui.NAME LIKE ?
OR u.LOGINID LIKE ?
OR ui.SPELL LIKE ?),如果把问号填写成'%test%'的数据直接查询,速度正常。保留问号通过管理工具的输入参数功能输入参数,执行了10分钟仍未出来结果。
请检查2种情况下,执行计划的差异,带问号的,是执行计划没有探测到合适的索引导致。可以尝试以下方案:
清理计划缓存,再看看带问号的sql重新生成的计划是否更新变快。