10.11 索引の更新に関するFAQ(よくある質問)

この項では、索引の更新と関連するパフォーマンスの問題に関してよくある質問と、それに対する回答を提供します。

10.11.1 新規または更新されたレコードの索引付けは、どのくらいの頻度で行う必要がありますか。

回答: CTX_DDL.SYNC_INDEXを使用して再索引付けを実行する頻度が低いと、索引の断片化が少なくなり、索引の最適化を実行する頻度も低く抑えることができます。

ただし、データが次第に古くなるため、ユーザーにとっては不便になる可能性があります。

ほとんどのシステムでは、毎日の夜間の索引付けで対応可能です。この場合、作成されてから1日未満のデータは検索できないということになります。毎時、10分ごとまたは5分ごとに更新を行うシステムもあります。

関連項目:

10.11.2 索引の断片化は、どのようにするとわかりますか。

回答: 最善の方法は、いくつかの問合せに要する時間を測定してから、索引の最適化を実行し、その後で同じ問合せの時間を再度測定することです(SGAをクリアするために、その都度データベースを再起動する必要があります)。問合せの速度が大幅に上がっている場合は、最適化が有効であったことを示しています。そうでない場合は、次回は待機時間が長くなる可能性があります。

索引の断片化の分析には、CTX_REPORT.INDEX_STATSを使用することもできます。

関連項目:

  • CTX_REPORTパッケージの使用方法についてさらに学習するには、『Oracle Textリファレンス』を参照してください。

  • 索引の最適化

10.11.3 メモリー割当ては索引の同期化に影響しますか。

回答: はい。通常の索引付けへの影響と同じです。同期操作中に索引付けされるレコード数が大幅に少ないことが多いので、通常は索引付けのメモリーに数百MBも準備する必要はありません。