yangtingkun
===========================================================
函数索引和初始化参数的关系
===========================================================

Oracle8i中,使用函数索引必须将初始化参数QUERY_REWRITE_ENABLED设置为TRUE,且QUERY_REWRITE_INTEGRITY设置为TRUSTED。但是在920中,似乎函数索引不再依赖于初始化参数的设置。

 


SQL> SELECT * FROM V$VERSION;

BANNER
-------------------------------------------------------------
Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
PL/SQL Release 9.2.0.4.0 - Production
CORE    9.2.0.3.0       Production
TNS for 32-bit Windows: Version 9.2.0.4.0 - Production
NLSRTL Version 9.2.0.4.0 - Production

SQL> SHOW PARAMETER OPTIMIZER_MODE

NAME                       TYPE        VALUE
-------------------------- ----------- --------------------
optimizer_mode             string      CHOOSE
SQL> SHOW PARAMETER QUERY

NAME                       TYPE        VALUE
-------------------------- ----------- --------------------
query_rewrite_enabled      string      TRUE
query_rewrite_integrity    string      enforced
SQL> ALTER SESSION SET QUERY_REWRITE_ENABLED = FALSE;

会话已更改。

SQL> SHOW PARAMETER QUERY

NAME                       TYPE        VALUE
-------------------------- ----------- ------------------------------
query_rewrite_enabled      string      FALSE
query_rewrite_integrity    string      enforced
SQL> CREATE TABLE TEST AS SELECT * FROM DBA_OBJECTS;

表已创建。

SQL> CREATE INDEX IND_TEST_NAME ON TEST (LOWER(OBJECT_NAME));

索引已创建。

SQL> EXEC DBMS_STATS.GATHER_TABLE_STATS(USER, 'TEST')

PL/SQL 过程已成功完成。

SQL> COL OBJECT_NAME FORMAT A30
SQL> SET AUTOT ON EXP
SQL> SELECT OWNER, OBJECT_NAME FROM TEST WHERE LOWER(OBJECT_NAME) = 't';

OWNER                          OBJECT_NAME
------------------------------ ------------------------------
YANGTK                         T


Execution Plan
----------------------------------------------------------
   0      SELECT STATEMENT Optimizer=CHOOSE (Cost=2 Card=1 Bytes=23)
   1    0   TABLE ACCESS (BY INDEX ROWID) OF 'TEST' (Cost=2 Card=1 Bytes=23)
   2    1     INDEX (RANGE SCAN) OF 'IND_TEST_NAME' (NON-UNIQUE) (Cost=1 Card=1)

 

 

yangtingkun 发表于:2005.03.22 02:14 ::分类: ( ORACLE ) ::阅读:(61188次) :: 评论 (2)
[回复]

good article.

tengrid 评论于: 2005.03.22 14:38
re: 函数索引和初始化参数的关系 [回复]

wassat.gif

orphean 评论于: 2008.07.10 15:41

发表评论
标题

在此添加评论
表情符号: smile laughing tongue angry crying sad wassat wink

称呼

邮箱地址(可选)

个人主页(可选)

 authimage


切换风格
新闻聚合
博客日历
文章归档...
最新发表...
最新评论...
最多阅读文章...
最多评论文章...
博客统计...
Blog信息
网站链接...