「2323,23323,23323」のようなコンマで区切られた数字の列があります。テーブルには2000万レコードあり、以下のようなキーワードに基づいて結果を返すのに約37秒かかります。見ることによってOracleテキストを使用してコンマ区切りのテキスト列を索引付けする方法
SELECT count(*) from testtable WHERE CONTAINS(node_sequence, '324') > 0;
:
SELECT count(*) from testtable WHERE node_sequence like '%324%';
は、私は言葉だけで動作し、以下の指標
CREATE INDEX node_sequence_index ON testtable(node_sequence) INDEXTYPE IS ctxsys.context;
exec ctx_ddl.sync_index('node_sequence_index');
しかし、以下のクエリを作成して、Oracleのテキストを使用してクエリ時間を改善しようとしました索引付けは単語単位でトークン化されます(スペースで区切られます)。コンマでトークン化する方法はありますか?私はこれを行うことができるサンプルを見つけることができませんでした。何が私はここで行方不明を理解するのを助けてください?
あなたはnode_sequenceに文字列置換関数を追加してコンマを取り除くことができます。 –
はい、カンマを置き換えずにこれが可能かどうか確認したいと思います。置換すると参照先の変更が多く発生します – Chandan