oracle视图二次查询慢

同样一个sql查询视图,首次查询很快,1s内就查询出来,第二次再查需要1分多钟才能出来。

sql语句如下:

sql 复制代码
select *
  from vEISWorksService
 where StudiesDoneDate >= '20230628'
   and StudiesStatus = 100
   and RESULTSINDEX is not null
   and (ResultsReportsPost is null or ResultsApprovePost is null)
   and rownum <= 50;

查看后台等待事件,主要在于"db file sequential read",但是并没有堵塞发生

sql 复制代码
EVENT                              MACHINE              BLOCKING_SESSION

------------------------           ------------

db file sequential read             ris01
db file sequential read             WORKGROUP\ZYJPDYSVR

这个问题首先想到了,基数反馈(Cardinality Feedback )问题导致的查询慢,由于并不确认是否真是这个问题造成,首先在会话级别调试,设置session级别"_optimizer_use_feedback"=FALSE

sql > alter session set "_optimizer_use_feedback"=FALSE;

再次查询发现再次查询确实不再慢了,正式关闭基数反馈。

SQL> alter system set "_optimizer_use_feedback"=false;

基数反馈是 Oracle 11.2 引入的关干 SQL性能优化的新特性,但是该参数存在不稳定因素,可能会带来执行效率的问题,所以建议关闭优化器反馈。

相关推荐
小陈工2 小时前
Python Web开发入门(十七):Vue.js与Python后端集成——让前后端真正“握手言和“
开发语言·前端·javascript·数据库·vue.js·人工智能·python
科技小花6 小时前
数据治理平台架构演进观察:AI原生设计如何重构企业数据管理范式
数据库·重构·架构·数据治理·ai-native·ai原生
一江寒逸6 小时前
零基础从入门到精通MySQL(中篇):进阶篇——吃透多表查询、事务核心与高级特性,搞定复杂业务SQL
数据库·sql·mysql
D4c-lovetrain6 小时前
linux个人心得22 (mysql)
数据库·mysql
阿里小阿希7 小时前
CentOS7 PostgreSQL 9.2 升级到 15 完整教程
数据库·postgresql
荒川之神7 小时前
Oracle 数据仓库雪花模型设计(完整实战方案)
数据库·数据仓库·oracle
做个文艺程序员7 小时前
MySQL安全加固十大硬核操作
数据库·mysql·安全
不吃香菜学java7 小时前
Redis简单应用
数据库·spring boot·tomcat·maven
一个天蝎座 白勺 程序猿7 小时前
Apache IoTDB(15):IoTDB查询写回(INTO子句)深度解析——从语法到实战的ETL全链路指南
数据库·apache·etl·iotdb
不知名的老吴7 小时前
Redis的延迟瓶颈:TCP栈开销无法避免
数据库·redis·缓存