关于Oracle降序索引的定意及回溯

2/9/2008来源:Oracle教程人气:7591


  
降序索引本质上是FBI,其具体定义可以通过 user_ind_eXPRessions 或dba_ind_expressions 查询。
那么同样的,降序索引只有在CBO下才能被使用。

Connected to Oracle9i Enterprise Edition Release 9.2.0.4.0
Connected as eygle


SQL> create table t as select * from dba_users;

Table created

SQL> create index idx_username_desc on t(username desc);

Index created


SQL> select index_name,table_name,INDEX_TYPE from user_indexes where table_name='T';

INDEX_NAME                     TABLE_NAME                     INDEX_TYPE
------------------------------ ------------------------------ ---------------------------
IDX_USERNAME_DESC              T                              FUNCTION-BASED NORMAL


SQL> select column_name,column_position,descend from user_ind_columns
  2  where table_name='T';

COLUMN_NAME                    COLUMN_POSITION DESCEND
------------------------------ --------------- -------
SYS_NC00013$                                 1 DESC

SQL>


SQL> select * from user_ind_expressions where table_name='T';

INDEX_NAME                     TABLE_NAME                     COLUMN_EXPRESSION              COLUMN_POSITION
------------------------------ ------------------------------ ------------------------------ ---------------
IDX_USERNAME_DESC              T                              "USERNAME"   
                                1