oracle查询同一条语句,第一次查询很快,第二次查询就几乎卡死

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle查询同一条语句,第一次查询很快,第二次查询就几乎卡死相关的知识,希望对你有一定的参考价值。

oracle查询同一条语句
查询结果是157 条数据,第二次查询的时候修改一个查询条件比如时间上+1天,查询就变快,这个时间条件的修改不会改变结果集,结果依然是157 条,或者加一个AND 1=1 这样的条件,查询也会变快。
但是查询语句不做任何修改,第二次查询在PLSQL里面或者在程序里面查询都会卡住
而且这种情况还是偶发的,有时候不修改任何条件连续查询就一直很快

请问有没有大神知道是为什么?

这个时间条件的修改不会改变结果集,虽然不会改变结果集,但会改变缓存里的数据。
第二次查询在PLSQL里面或者在程序里面查询都会卡住,而且这种情况还是偶发的,有时候不修改任何条件连续查询就一直很快。看看是不是有并发什么的。这种情况确实比较难判断。
参考技术A 应该开启了缓存,第一次查询的时候是直接去表里查,所以很慢
第二次查的时候是去缓存中查找,所以很快。
你想优化查询的话可以加索引和优化sql语句追问

是第一次查询很快第二次很慢

参考技术B 如果服务器正常的话连续查询同一个或者相似语句,第二次速度变快是正常的,因为oracle缓存机制会帮忙提升效率,但是不该任何速度变慢很多事不正常的,要具体问题具体分析了 参考技术C alter session set "_optimizer_use_feedback" = false;
11.2.0版本oracle的一个特性,基数反馈,关掉就行了。
参考技术D 解决了吗?我也出现了这个问题。

我想分段查询数据,第一次搜索前30条,第二次搜索之后的30条,改如何写sql?oracle数据库

参考技术A select * from (select row_number() over(order by kid) row_, k.* from k) a
where a.row_>30 and a.row_<61

K:表名称本回答被提问者采纳
参考技术B fsdfsdf

以上是关于oracle查询同一条语句,第一次查询很快,第二次查询就几乎卡死的主要内容,如果未能解决你的问题,请参考以下文章

oracle分页查询语句怎么写每页查询10条

Oracle with重用子查询

mysql做查询时,第一次很慢,第二三次就会很快?

Oracle: 两个SQL语句查询数量不一致。

solr同一个条件查询,为啥第一次能查询出来,第二次却查询不出来,但第三次又能查询出来了这是为啥?

mysql在第一次查询的时候很慢,第二次查询就比较快的原因?