在WHERE CONTAINS子句的视图上没有使用索引

时间:2011-07-28 05:30:11

标签: oracle view indexing

我创建了一个表,其中一列是地址。然后我创建了一个带有WHERE CONTAINS子句的视图,该子句指出select只能在包含特定单词的地址上执行。

然后我在原始表上创建了一个地址列的索引。

它表示创建了索引。

当我输入

select * from myview

它说

drg-10599: column is not indexed.  

知道为什么这不起作用吗?

1 个答案:

答案 0 :(得分:10)

您需要创建Oracle Text索引,而不是标准的b-tree索引。 creating and maintaining Oracle Text indexes有很多选项,你应该仔细阅读,以便弄清楚你想要使用哪些选项。

最简单的DDL语句是

CREATE INDEX myindex ON table_a(address) 
       INDEXTYPE IS CTXSYS.CONTEXT;