Oracle 11g升级19c 后部分查询功能很慢

*Oracle 11g升级19c 后部分查询功能很慢

今天生产突然有个查询非常慢,日志显示执行了50秒左右,但是从日志中拿出SQL在PLSQL执行,发现用时不到1秒,查看SQL,怀疑是下面几种原因导致

1、使用函数不当

UNIT.UNIT_CODE LIKE CONCAT('%', CONCAT(#{unitCodeOrName}, '%')

修改为 INSTR(INFO.UNIT_CODE, '${unitCodeOrName}') > 0
2、MyBatis解析花费时间较长

原因及参考方案可参考

https://blog.csdn.net/WO8451401/article/details/126948846?spm=1001.2101.3001.6650.3\&utm_medium=distribute.pc_relevant.none-task-blog-2~default~CTRLIST~Rate-3-126948846-blog-106021178.235^v43^pc_blog_bottom_relevance_base3\&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2~default~CTRLIST~Rate-3-126948846-blog-106021178.235^v43^pc_blog_bottom_relevance_base3\&utm_relevant_index=6![在这里插入图片描述](https://file.jishuzhan.net/article/1764298299801604098/8c2ea7639dba42f10d8bc02b950353da.webp)
3、执行SQL驱动不对

升级19c后,默认驱动为19c的,可指定SQL执行的驱动为11g

/*+ OPTIMIZER_FEATURES_ENABLE('11.2.0.4') */

最终经过实际验证,第三种方案顺利解决问题,数据库和程序脚本执行时间基本一致,非常快

相关推荐
hacker_LeeFei4 小时前
Springboot连接多数据源(MySQL&Oracle)
spring boot·mysql·oracle
JH307315 小时前
第七篇:Buffer Pool 与 InnoDB 其他组件的协作
java·数据库·mysql·oracle
数据库生产实战15 小时前
解析Oracle 19C中并行INSERT SELECT的工作原理
数据库·oracle
XYiFfang18 小时前
【MYSQL】SQL学习指南:从常见错误到高级函数与正则表达式
sql·mysql·正则表达式·regexp_like·group_concat
十碗饭吃不饱20 小时前
sql报错:java.sql.SQLSyntaxErrorException: Unknown column ‘as0‘ in ‘where clause‘
java·数据库·sql
呆呆小金人20 小时前
SQL入门: HAVING用法全解析
大数据·数据库·数据仓库·sql·数据库开发·etl·etl工程师
itachi-uchiha1 天前
安装Oracle Database 23ai Free
数据库·oracle
l1t1 天前
用parser_tools插件来解析SQL语句
数据库·sql·插件·duckdb
代码程序猿RIP1 天前
【SQLite 库】sqlite3_open_v2
jvm·oracle·sqlite
TDengine (老段)1 天前
TDengine 数学函数 ABS() 用户手册
大数据·数据库·sql·物联网·时序数据库·tdengine·涛思数据