oracle 数据库中,应用程序里的连接探測语句的正确使用
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.添加数据库server(即: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 数据库中,应用程序里的连接探測语句的正确使用的更多相关文章
- plsql连接本地oracle数据库,而远程主机却无法连接,出现无监听程序的解决方法(转)
原文转自:plsql连接本地oracle数据库,而远程主机却无法连接,出现无监听程序的解决方法 最近在使用plsql连接本地oracle数据库的时候,在同一网络环境中,出现了可以连接本地oracle, ...
- Oracle数据库中,在SQL语句中连接字符串的方法是哪个?(选择1项)
Oracle数据库中,在SQL语句中连接字符串的方法是哪个?(选择1项) A.cat B.concat C.join D.+ 解答:B
- oracle 数据库中(创建、解锁、授权、删除)用户
上文我们已经建立了名为orcl66的数据库. 想要在数据库中创建.修改用户需要我们以管理员权限登录到数据库中. 首先我们通过sqlplus命令登录连接数据库. 输入sqlplus命令--用户名: sy ...
- 详解大数据采集引擎之Sqoop&采集oracle数据库中的数据
一.Sqoop的简介: Sqoop是一个数据采集引擎/数据交换引擎,采集关系型数据库(RDBMS)中的数据,主要用于在RDBMS与HDFS/Hive/HBase之间进行数据传递,可以通过sqoop i ...
- hive表增量抽取到oracle数据库的通用程序(一)
hive表增量抽取到oracle数据库的通用程序(二) sqoop在export的时候 只能通过--export-dir参数来指定hdfs的路径.而目前的需求是需要将hive中某个表中的多个分区记录一 ...
- Oracle 数据库中查看表空间的2种方法
在Oracle数据库中查看表空间使用状况是我们在实际应用中经常涉及到的,以下的内容就就是对Oracle 数据库中查看表空间使用状况时所要用到的SQL的描述,希望你能从中获得自己想要的东西. Oracl ...
- hive表增量抽取到oracle数据库的通用程序(二)
hive表增量抽取到oracle数据库的通用程序(一) 前一篇介绍了java程序的如何编写.使用以及引用到的依赖包.这篇接着上一篇来介绍如何在oozie中使用该java程序. 在我的业务中,分为两段: ...
- Oracle数据库中字段定义为Char类型,Hibernate用该字段进行动态绑定参数查询,获取不到结果的问题
一.问题背景 产生环境:oracle数据库,hibernate操作 定义了一个表 create table STORE_INFORMATION ( id CHAR(32) not null, name ...
- ArcCatalog中通过ArcSDE向Oracle数据库中导入数据
将数据导入到Oracle指定的表空间的具体内容如下: 首先,在ArcCatalog中建立指定表空间的数据库连接(要以指定表空间的用户登录): 然后,在ArcCatlog中定位到数据源,选中并拷贝图层; ...
随机推荐
- C#-MessageBox全部函数重载形式及举例
Form1.cs using System; using System.Collections.Generic; using System.ComponentModel; using System.D ...
- springmvc+jsp引用本地图片文件
1.图片文件路径,注意图片文件夹和WEB-INFO文件夹同级 2.web.xml配置 <servlet-mapping> <servlet-name>default</s ...
- UVA 11367 Full Tank?(bfs最短路)
n个点m条无向边的图,油箱有上限,每个单位的汽油能走1单位距离,每个城市的油价val[i], 对于每个query,求s到e的最小花费. dp[i][j]表示到达第i个城市,油箱剩余油量j时的最小花费. ...
- ReportStudio中创建日期提示默认值模板
很多人已经知道可以通过JS给RS中的日期提示控件设置运行前的默认值---------例如: 日期时间段默认为上一个月的开始日和结束日 在系统所有的报表中都这样操作,我们如何快速的引入?和方便下次修改统 ...
- spring mvc--默认都使用了哪些bean
在MVC中默认使用的bean都定义在了 org.springframework.web.servlet下的DispatcherServlet.properties 下载源文件后可查看到默认bean定义 ...
- java 和 C# 响应输出的相似度
java servlet response: bf.append("Shipment No, STT No, WIN Event, DateTime, WOU Envent, DateTim ...
- Jquery重新学习之六[操作XML数据]
上一章整理有关Jquery操作JSON格式数据,本章则是整理Jquery与XML的交互,因为XML简单易用及运用在很跨平台上的优点,所以项目运用Jquery操作XML还是比较常见:下面的代码来自Jqu ...
- input 禁止 复制 粘贴 剪切 操作
1.代码 <Input onCopy={(e)=>{ // 禁止拷贝 e.preventDefault(); }} onPaste={(e)=>{ // 禁止粘贴 e.prevent ...
- 数据库选型之MySQL(多线程并发)
刘勇 Email: lyssym@sina.com 本博客记录作者在工作与研究中所经历的点滴,一方面给自己的工作与生活留下印记,另一方面若是能对大家有所帮助,则幸甚至哉矣! 简介 鉴于高频中心库 ...
- AI的分支学科
AI 的分支学科 [References]AAI(Advanced Artificial Intelligence)