使用下面的脚本查看表上索引相关信息:
select
ind.uniqueness uniq,
ind.owner||'.'||col.index_name indname,
col.column_name colname
from
dba_ind_columns col,
dba_indexes ind
where
ind.owner = upper('&ixowner')
and
ind.table_name = upper('&tabname')
and
col.index_owner = ind.owner
and
col.index_name = ind.index_name
order by
col.index_name,
col.column_position
/
Uniqueness Index Name Column Name
---------- ---------------------------------------- -------------------------
NONUNIQUE WMS.IDX2_FK2_D_4880 MODE_ID
NONUNIQUE WMS.IDX2_FK2_ORDERTYPE_ID_609 ORDERTYPE_ID
NONUNIQUE WMS.IDX2_GSOH_LASTSHIPMENTTIME LASTSHIPMENTTIME
NONUNIQUE WMS.IDX2_GSOH_UDF2 UDF2
NONUNIQUE WMS.IDX2_SOH_CHECKTRACKNO SYS_NC00133$
NONUNIQUE WMS.IDX2_SOH_CREATEDTIME CREATEDTIME
NONUNIQUE WMS.IDX2_SOH_CUSTOMER_ID CUSTOMER_ID
NONUNIQUE WMS.IDX2_SOH_NO SYS_NC00134$
NONUNIQUE WMS.IDX2_SOH_REF2 SYS_NC00132$
看到的列 (SYS_NC00134$) ,感觉怪怪的,网上说是可能是对列的表达式加的索引,使用下面的语句进行查询,果真如此
11:11:01 sys@wms>select column_expression from dba_ind_expressions where index_name ='IDX2_SOH_NO';
COLUMN_EXPRESSION
---------------------------------------------------------------------------------------------------------------------------------------
UPPER("SALESORDERNO")