从user_ind_column表中获取特定索引

时间:2016-11-04 18:38:49

标签: oracle

我必须从user_ind_column表中获取特定的索引信息,该索引应该是位图索引

如何激活此方案

任何人都可以帮助我

IEA_PATIENT_PK      _PATIENT    HIEA_PATIENT_ID 1   40  40  ASC
IEA_PATIENT_PK      _PATIENT    BATCH_ID    2   22  0   ASC
IEA_PATIENT_IDX2    _PATIENT    HIEA_PATIENT_ID 1   40  40  ASC
IEA_PATIENT_IDX2    _PATIENT    PRACTICE_NAME   2   4000    4000    ASC
IN_HIEA_PATIENT     _PATIENT    HIE_ID  1   22  0   ASC
IN_XHIEA_PATIENT    _PATIENT    HIE_ID  1   22  0   ASC
IN_XHIEA_PATIENT    _PATIENT    PRACTICE_NAME   2   4000    4000    ASC

这些是针对_PATIENT表的索引信息,但是我需要从表中获取IN_HIEA_PATIENT记录而不使用索引名称

由于 潘迪亚

1 个答案:

答案 0 :(得分:0)

这可能呢? (概念证明 - 搜索位图索引及其关联列;给出的是模式名称'SH'和表名'COSTS'; 'SH'是标准Oracle之一模式,在大多数数据库安装中找到。)

select index_name, column_name
from dba_ind_columns
where index_name in (
                      select index_name
                      from   dba_indexes 
                      where  index_type  = 'BITMAP'
                         and table_owner = 'SH'
                         and table_name  = 'COSTS'
                    )  
;

INDEX_NAME      COLUMN_NAME
--------------  -----------
COSTS_TIME_BIX  TIME_ID
COSTS_PROD_BIX  PROD_ID