是或否你的问题是一般性的。答案取决于许多因素。 你有两个简单的解决方案,一个更复杂。
1)平凡的基于函数的索引。仅适用于一个搜索值。
create fb_trivial index on table(dbms_lob.instr(message_xml, 'A12345678'))
和查询利用这个指数
select message_xml
from table
where dbms_lob.instr(message_xml, 'A12345678') > 0
order by message_date;
2)提取功能基索引。
create index fb_extract_index on table(extractvalue(xmltype(message_xml),'/path/to/your/value'))
或版本与namaspaces
create index fb_extract_index on table(extractvalue(xmltype(message_xml),'/ns:path/ns:to/ns:your/ns:value', 'xmlns:ns="namespace:from:xml" '))
和查询利用
select message_xml from table where extractvalue(xmltype(message_xml),'/path/to/your/value')) = 'A12345678'
3)对于更复杂的解决方案是指oracle-11g-xmlindex-part-1 和Oracle的文档有关的XML索引本文xmlIndex
整个问题在于我d o在这个数据库上没有写权限。我们只有一个阅读权限:( –