关于虚表dual 的来源 作用

本文介绍了Oracle数据库中DUAL表的基本概念及其用途,包括如何使用DUAL进行简单运算和获取当前日期等信息。此外还探讨了DUAL表可能带来的性能问题及优化措施。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    这是个虚拟表,你在操作大多数Oracle对象的时候都可以使用这个表,比如sequence,sysdate等等。 
比如select sysdate from dual            select seq1.nextval from dual 等等,一般也就是用来做这个事情的
1. dual 是由  sql.bsq 建立的。每个database 在建立的时候, sql.bsq 都需要run 一次的。所以每个database 都会有dual table 的。
2. DUAL 的 owner 是谁?  -- SYS  (select owner, table_name from dba_tables where table_name='DUAL';
3.   什么时候经常用到dual table?可以用于运算: select 99*99 from dual;我自己最常用的是,在batch script 做 time stamps.connect internal;select to_char(sysdatE, 'YY-MON-DD HH:MI') FROM DUAL;.
关 于dual 引起的Performance 的问题。如果你没有用很多dual的话,似乎不用考虑的。我尚未见过一天需要 access 千次以上dual 的数据库。但是根据文章,给dual 建立index 是个好办法(8i 及以前),并且要常做 analy table dual comput statistics。或者将X$DUAL 使用where 来建立一个view,可以使其存在memory 里面,如果你常使用的话,就会降低performance cost (性能成本)

注:一   Sql.bsp
BSP(Board Support Package)是板级支持包,是介于主板硬件和操作系统之间的一层,应该说是属于操作系统的一部分,主要目的是为了支持操作系统,使之能够更好的运行于硬件主板。BSP是相对于操作系统而言的,不同的操作系统对应于不同定义形式的BSP
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值