降序索引本质上是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