2011-07-28 12 views
4

テーブルを作成しましたが、カラムの1つがアドレスです。次に、WHERE CONTAINS節を持つビューを作成しました。このビューでは、selectは特定の単語を含むアドレスに対してのみ実行できます。WHERE CONTAINS句を含むビューでインデックスが使用されていません

次に、元のテーブルのアドレス列のインデックスを作成しました。

インデックスが作成されています。私は

select * from myview 

を入力すると

それは

drg-10599: column is not indexed. 

これが機能しない理由の任意のアイデアを言いますか?

+0

でしょうか? Oracle Text索引を作成しましたか?あるいは、古いBツリー索引を作成しましたか?または、他の種類の索引を作成しましたか? –

+0

create table_a(address)上のaddressindexを作成します。 – Christopher

答えて

8

標準のbツリー索引ではなく、Oracle Text索引を作成する必要があります。 creating and maintaining Oracle Text indexesにはいくつかのオプションがあり、どのオプションを使用したいかを正確に把握するために実際に読む必要があります。

できるだけ簡単なDDL文を使用すると、インデックスを作成するために使用される正確な文は何だったの

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

そのインデックスタイプは正常に機能しましたが、それが最良かどうかを確認するためにリンクを読むことにします。私はこのジャスティンの助けに感謝します! – Christopher

関連する問題