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性能优化的新特性,但是该参数存在不稳定因素,可能会带来执行效率的问题,所以建议关闭优化器反馈。

相关推荐
数据库小组1 小时前
2026 年,MySQL 到 SelectDB 同步为何更关注实时、可观测与可校验?
数据库·mysql·数据库管理工具·数据同步·ninedata·selectdb·迁移工具
华科易迅1 小时前
MybatisPlus增删改查操作
android·java·数据库
Kethy__2 小时前
计算机中级-数据库系统工程师-计算机体系结构与存储系统
大数据·数据库·数据库系统工程师·计算机中级
SHoM SSER2 小时前
MySQL 数据库连接池爆满问题排查与解决
android·数据库·mysql
熬夜的咕噜猫2 小时前
MySQL备份与恢复
数据库·oracle
jnrjian2 小时前
recover database using backup controlfile until cancel 假recover,真一致
数据库·oracle
lifewange3 小时前
java连接Mysql数据库
java·数据库·mysql
大妮哟3 小时前
postgresql数据库日志量异常原因排查
数据库·postgresql·oracle
还是做不到嘛\.4 小时前
Dvwa靶场-SQL Injection (Blind)-基于sqlmap
数据库·sql·web安全
不写八个4 小时前
PHP教程004:php链接mysql数据库
数据库·mysql·php