問合せがスループット向上のために最適化された場合は、すべてのヒットが最短時間で戻されます。デフォルトの動作です。
デフォルトでは、問合せはCHOOSE
モードおよびALL_ROWS
モードでスループットが向上するように最適化されます。問合せがスループット向上のために最適化された場合は、Oracle Textによってすべての行が最短時間で戻されます。
FIRST_ROWS(n)
モードでは、可能な場合、テキスト・ドメイン索引でスコア順にソートされた行が戻されるようにすることで応答時間を短縮するよう、Oracle Databaseのオプティマイザが最適化を行います。これは、FIRST_ROWS(n)
ヒントを使用する場合のデフォルトの動作です。
FIRST_ROWS(n)
でスループットがさらに向上するように最適化するには、DOMAIN_INDEX_NO_SORT
ヒントを使用します。スループットの向上とは、すべての行を最短時間で問合せに取り込むことです。
次の例では、スコア順にソートした行を戻すためにテキスト・ドメイン索引を使用せずにスループットを向上させています。かわりに、CONTAINS
述語を満たすすべての行が索引から取り出された後で、Oracle Textによって行がソートされます。
select /*+ FIRST_ROWS(10) DOMAIN_INDEX_NO_SORT */ pk, score(1), col from ctx_tab where contains(txt_col, 'test', 1) > 0 order by score(1) desc;