在9i环境中
SQL> select * from v$version;
BANNER
----------------------------------------------------------------
Oracle9i Enterprise Edition Release 9.2.0.6.0 - 64bit Production
PL/SQL Release 9.2.0.6.0 - Production
CORE 9.2.0.6.0 Production
TNS for HPUX: Version 9.2.0.6.0 - Production
NLSRTL Version 9.2.0.6.0 - Production
可以看到读取dual表会产生3个逻辑读
SQL> select sysdate from dual;
Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=CHOOSE
1 0 TABLE ACCESS (FULL) OF 'DUAL'
Statistics
----------------------------------------------------------
0 recursive calls
0 db block gets
3 consistent gets
0 physical reads
0 redo size
495 bytes sent via SQL*Net to client
655 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
1 rows processed
而在Oracle 10g,对dual的读取降低到0个逻辑读
SQL> select * from v$version;
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - Prod
PL/SQL Release 10.2.0.5.0 - Production
CORE 10.2.0.5.0 Production
TNS for Linux: Version 10.2.0.5.0 - Production
NLSRTL Version 10.2.0.5.0 - Production
SQL> select sysdate from dual;
Execution Plan
----------------------------------------------------------
Plan hash value: 1388734953
-----------------------------------------------------------------
| Id | Operation | Name | Rows | Cost (%CPU)| Time |
-----------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 2 (0)| 00:00:01 |
| 1 | FAST DUAL | | 1 | 2 (0)| 00:00:01 |
-----------------------------------------------------------------
Statistics
----------------------------------------------------------
0 recursive calls
0 db block gets
0 consistent gets
0 physical reads
0 redo size
415 bytes sent via SQL*Net to client
400 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
1 rows processed
如果应用中大量采用select sysdate from dual这种方法获取系统时间,Oracle的这一点点小小的改动,无疑会提高性能。但是值得一提的是select * from dual;执行计划和逻辑读并没有改变。
分享到:
相关推荐
### Oracle9i全教程知识点概览 #### 一、Oracle9i基础知识 1. **关系数据库管理系统(RDBMS)理解** - **关系模型**:介绍关系模型的基本概念,包括表(Table)、元组(Tuple)、属性(Attribute)等基本元素。 - **Codd...
在 Oracle 中查询当前系统时间可以使用 `SELECT SYSDATE FROM DUAL;` 这条 SQL 语句。 #### 四、触发器的概念及其应用 **触发器** 是一种特殊类型的存储过程,它可以在数据被插入、更新或删除之前或之后自动执行。...
### Oracle9i数据库基础知识点概览 #### 一、Oracle SQL*PLUS基础 **1.1 关系数据库系统 (RDBMS)** - **关系模型**:关系模型是一种基于数学集合论的数据组织方式,其中数据被组织成表格形式,每个表格都有一个...
在Oracle数据库中,获取时间和日期是非常常见的需求之一。无论是进行数据查询还是进行数据处理,正确地掌握如何获取和操作时间与日期对于开发人员来说至关重要。本文将详细介绍Oracle中获取时间的各种方法,并提供...
Oracle9i初始化参数中文说明 Blank_trimming: 说明: 如果值为TRUE, 即使源长度比目标长度 (SQL92 兼容) 更长, 也允许分配数据。 值范围: TRUE | FALSE 默认值: FALSE serializable: 说明: 确定查询是否获取表级...
### Oracle8i_9i数据库基础知识点概览 #### 一、Oracle数据库基础概述 - **关系数据库系统(RDBMS)的理解**: - **关系模型**:关系模型是RDBMS的基础,它通过表格的形式组织数据,每张表由一系列行和列组成,其中...
SVRMGR是Oracle早期版本中的服务器管理工具,但在9i及更高版本中已被SQL*Plus替代。要切换到归档日志模式,可以使用SQL命令。 通过查询`V$SESSION`视图,可以找出用户是从哪台机器登录Oracle的,其中`MACHINE`和`...
其一、就业面广:全球前100强企业99家都在使用ORACLE相关技术,中国政府机构,大中型企事业单位都能有ORACLE技术的工程师岗位。 其二、技术层次深:如果期望进入IT服务或者产品公司(类似毕博、DELL、IBM等),...
SELECT SYSDATE - TRUNC(SYSDATE, 'Q') + 1 FROM DUAL; ``` 3. **查询当前年度天数**: ```sql SELECT TO_NUMBER(TO_CHAR(SYSDATE, 'DDD')) FROM DUAL; ``` 这些查询提供了快速计算日期的方法,特别适用于报表...
如果需要在Oracle数据库环境中获取Unix时间,可以使用 `SYSDATE` 函数。 以上知识点涵盖了Oracle数据库的基础操作、配置管理以及一些常用的查询命令,对于Oracle数据库的学习和使用都有一定的帮助。
- **伪列**:在Oracle中,某些特殊的列被称为伪列,它们不是表中的实际列,但可以在查询中像普通列一样使用。 - **常用的伪列**: - `ROWID`:用于唯一标识表中的每一行; - `LEVEL`:在层次查询中使用。 - **...
sql>select \'UserId=1233111\'||chr(10)||\'AccId=13431\'||chr(9)||\'AccId2=11111\' from dual; 24、树形查询 create table zj( bm number(8), bmmc varchar2(20), sjbm number(8) ) insert into zj ...
Oracle9i中没有直接支持自增列的功能,但可以通过序列和触发器的方式实现类似的效果。 1. **创建表格** 创建一个表格,指定`TID`为主键。 ```sql CREATE TABLE scott.test_table ( TID NUMBER(9,0) PRIMARY ...
### Oracle8i/9i数据库基础知识点概览 #### 一、关系数据库系统(RDBMS)的理解 **1.1 关系模型** - **定义**: 关系模型是一种用于描述数据库中数据及其相互之间联系的数据模型。它以表格形式组织数据,并通过表格...
Oracle数据库在处理日期和时间方面提供了丰富的功能,特别是在Oracle9i及后续版本中引入了对时区的支持。在Oracle公司内部的数据库培训资料中,重点介绍了与日期和时间相关的函数和概念,这对于理解和操作带有时区...
从给定的文档信息中,我们可以提炼出一系列关于Oracle8i和9i数据库基础的关键知识点。这份文档由赵元杰于2003年撰写,旨在为读者提供Oracle数据库的基础知识,尤其聚焦于SQL\*PLUS和PL/SQL程序设计。 ### Oracle8i_...
- 查询当前系统时间的命令:`SELECT sysdate FROM dual;` - 可以通过`ALTER SESSION SET NLS_DATE_FORMAT`命令自定义日期格式。 ### SQL Plus 初始化 - 在SQL Plus中,可以使用`@`符号执行外部脚本文件来初始化...
### Oracle8i_9i数据库基础知识点概览 #### 一、Oracle SQL*PLUS基础 **1.1 关系数据库系统 (RDBMS)** - **关系模型**: RDBMS 基于关系模型,该模型由 E.F. Codd 在 1970 年提出,它使用表格形式来组织数据,表格...