索引は、表の行を取得する代替方法を表します。通常は、行の主キーを使用して表の行を取得します。索引を作成することで、主キー値が異なるが、他の特性を共有する行を取得できます。
索引を作成できるのは、最上位レベルのフィールドのみです。そのため、レコード・フィールドを持つ表がある場合、または配列フィールドを使用する場合、そのレコードまたは配列内で作成されたフィールドに索引付けすることはできません。
たとえば、自動車のタイプを表す表がある場合、各行の主キーは自動車の製造業者およびモデル・タイプになります。ただし、製造業者またはモデル・タイプに関係なく、赤く塗装されたすべての自動車を問い合せることができるようにするには、色情報を含む表のフィールドに索引を作成します。
表と同様に、索引を作成するのに最適な方法はスクリプトを使用することです。このように、製品開発サイクル(設計からテスト、本番まで)のすべてのフェーズで作成された索引の一貫性を保証できます。
Oracle NoSQL Databaseはストアの関連表に含まれるすべてのデータを調べる必要があるため、索引の作成には時間がかかる場合があります。表に含まれるデータが小さいほど、索引の作成が高速になります。逆に、表に多数のデータが含まれる場合、索引の作成には時間がかかる可能性があります。
索引を作成するには、plan add-index
コマンドを使用します。同様に、索引を削除するには、plan remove-index
コマンドを使用します。
索引を追加するには、索引付けする表を指定して、1つ以上のフィールドに索引付けします。(これは、最上位レベルのフィールドである必要があることに注意してください。)たとえば、「表の定義」でmyTable
という名前の表を作成しました。次のように、percentage
フィールドの索引を作成するスクリプトの末尾にコマンドを追加できます。
## Enter into table creation mode
table create -name myTable
## Now add the fields
add-field -type STRING -name item
add-field -type STRING -name description
add-field -type INTEGER -name count
add-field -type DOUBLE -name percentage
## A primary key must be defined for every table
## Here, we will define field 'item' as the primary key.
primary-key -field item
## Exit table creation mode
exit
## Add the table to the store. Use the -wait flag to
## force the script to wait for the plan to complete
## before doing anything else.
plan add-table -name myTable -wait
plan add-index -name percent_idx -table myTable -field percentage -wait
索引の操作に使用する2つのCLIコマンドがあります。内容は次のとおりです。
plan add-index
ストアに索引を追加します。表名および1つ以上のフィールド名に索引付けする必要があります。索引付けする既存のデータが大量に存在する場合、この計画の実行には時間がかかる可能性があります。
plan remove-index
ストアから既存の索引を削除します。
すべてのCLIコマンドの包括的なリストおよびその構文は、「KVStoreコマンド・リファレンス」を参照してください。CLIのhelp
コマンドを使用して、すべてのCLIコマンドのコマンド構文を表示することもできます。