技术开发 频道

Oracle10g新特性——SQL*PLUS的改进

使用原先版本的sqlplus

    如果你出于某些原因不想使用这种增强过的sqlplus该怎么办呢?很简单,只要在运行sqlplus时加上-c的选项就可以了:

sqlplus –c 9.2

这样sqlplus的环境就和9.2版本的是一样的了。

轻松使用dual
有多少人经常使用例如以下的语句:

select USER into <some variable> from DUAL

    也许有很多。每次调用DUAL都会产生逻辑IO,而这些逻辑IO都可以被数据库避免的。在一些情况下,调用DUAL是为了能达到像“<somevariable> := USER”这样的效果。因为Oracle代码将DUAL看作一张特殊的表,因此一些用于优化普通表的方法可能对它无效。

    在10g中,这些担心都不存在了。因为DUAL是一张特殊的表,通过设定10046跟踪事件,”consistent gets”在相当程度上被降低了,查询计划也不一样了。

在9i中:

Rows Execution Plan ------- --------------------------------------------------- 0 SELECT STATEMENT GOAL: CHOOSE 1 TABLE ACCESS (FULL) OF 'DUAL' 在10G中: Rows Execution Plan ------- --------------------------------------------------- 0 SELECT STATEMENT MODE: ALL_ROWS 0 FAST DUAL
    请注意10g中这个新的查询计划:“FAST DUAL”,与9i中的“TABLE ACCESS (FULL) OF 'DUAL'”完全相反。这一改进显著的降低了“consistent reads”,使频繁用到了DUAL表的应用效率更高。

来源:WWW.HelloDBA.COM


0
相关文章