oracle数据库中,应用程序里的连接探测语句的正确使用
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了oracle数据库中,应用程序里的连接探测语句的正确使用,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1813字,纯文字阅读大概需要3分钟。
内容图文
oracle 数据库中,应用程序里的连接探测语句的正确使用 http://blog.csdn.net/msdnchina/article/details/38513765 在很多程序里边,连接探测(或者连接检测)语句,都是用的select sysdate from dual; 这是典型的“只要功能实现,不管性能如何”的写法。其实
oracle 数据库中,应用程序里的连接探测语句的正确使用http://blog.csdn.net/msdnchina/article/details/38513765
在很多程序里边,连接探测(或者连接检测)语句,都是用的select sysdate from dual;这是典型的“只要功能实现,不管性能如何”的写法。其实,连接探测语句,应该用select 1 from dual;
也许有人说,程序员们很辛苦,能实现功能就不错了。但是,我想说的是:换用select 1 from dual;的写法,不需要把 exist变为多表连接,因此跟业务逻辑没啥关系。这是举手之劳的事情。
下面说一下 select sysdate from dual; 作为连接探测语句的害处:
1.增加数据库的parse负担:
这一点可以从 awr报告的“SQL ordered by Parse Calls ”可以看到。(以下基于10.2.0.5)Parse Calls Executions % Total Parses SQL Id SQL Module SQL Text 3000 3000 15% aqswdefrgthy JDBC Thin Client select sysdate from dual;但是在mos文章:故障排除:Shared Pool优化和Library Cache Latch冲突优化 (Doc ID 1523934.1)上有如下的描述:
例2: 以下语句不用绑定变量但是也不会被认为是literal SQL,因为这个语句可以被多次执行共享。 SELECT sysdate FROM dual;我的疑问是:既然说能被共享执行,为啥 Parse Calls的次数与 Executions一样多?莫非select sysdate from dual在11g上有了改进?
回头可以找一个11g的环境测试一下。
2.增加数据库服务器(即:os)的处理负担,理由如下:
The SYSDATE and SYSTIMESTAMP function simply performs a system-call to the Operating System to get the time (a "gettimeofday" call).以上摘自:How To Add A Day, Hour, Minute And/Or Second To A Date Value? (Doc ID 1419615.1)
内容总结
以上是互联网集市为您收集整理的oracle数据库中,应用程序里的连接探测语句的正确使用全部内容,希望文章能够帮你解决oracle数据库中,应用程序里的连接探测语句的正确使用所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。