哪位高人遇到过这个问题啊,我们用weblogic配置jdbc链接池访问oracle,但是每次weblogic启动后第一次访问的sql都非常慢
比如程序一个10个sql,这些sql第一次运行都要超过10秒,第2次就2秒以下了。
oracle是10g的。weblogic还配置了其他db的链接池,都没有问题,唯独外部db的池有这个问题。
因为这个外部db是在别的地方,不属于我们管理,也无法看执行计划,我们只知道都是view,而且view还是比较复杂的。
是否有结果集缓存的原因,使得第一次非常慢哪?但是结果集缓存是在11g才有的。
比如程序一个10个sql,这些sql第一次运行都要超过10秒,第2次就2秒以下了。
oracle是10g的。weblogic还配置了其他db的链接池,都没有问题,唯独外部db的池有这个问题。
因为这个外部db是在别的地方,不属于我们管理,也无法看执行计划,我们只知道都是view,而且view还是比较复杂的。
是否有结果集缓存的原因,使得第一次非常慢哪?但是结果集缓存是在11g才有的。
解决方案 »
- 跪求高人指点,oracle 索引重建后,查询数据非常慢几乎无法使用;数据库导出来放到其他服务器也是一样。
- 请大家讨论oracle9i和10g的区别
- 请教关于编码问题
- ORACLE 与SQL2000 连接
- 请教oracle怎样备份和恢复数据库
- oracle新手,为了方便与各位高手大虾学习,留下MSN:)
- oracle与sybase问题
- ■如果生成一个很长的过程,脚本已经写好了,不用可视化工具。
- 初级问题求救:在oracle 8i的DBA studio中如何显示table的内容?怎么将excel表格的内容导入table?
- 数据导入时关于字符转换问题面出错导不了,答者有分,能者多劳!!!!!
- 海量 数据 数据库 选择
- 在百度上面只有一条与此相关的信息,跪求寻高手解答
你说的是语法检查生成执行计划等这些事情对么?这些事情会花费8秒以上时间么?
此外,发生这个问题的时候,db并没有重启过,那是外部数据库,不动的。只是我们每次重启weblogic以后,第一请求应用程序发现的。后面就正常的。
硬解析应该是针对db全局的吧,不会是session级别的吧?
weblogic上还配置了其他几个连接池,不过是本地数据库,配置选项上都一样的,初期实例都是大于0的。看了cache相关的选项也没什么特别的
第一次慢那是正常的, 慢主要在两块: 一是SQL的分析(语法,语意,词法,等等,然后还要pin到share pool, 然后生成执行计划)都是要时间的. 二是IO的发生,读数据从磁盘到cache中.
第二次这些就省了第一次查询, 会涉及到很多physical io, 第二次的话,,大部分block都在cache中, 不需要phisical io了.. 速度就快很多了.
http://forum.csdn.net/SList/Middleware/
IO发生的说法不理解,oracle 10g没有结果集缓存,只是执行计划的缓存而已吧?