次の属性を使用して、HashIndex プラグインを構成できます。 これらの属性は、属性 HashIndex を使用しているか複合 HashIndex を使用しているか、または範囲を指定した索引付けが使用可能かどうかといったプロパティーを定義します。
HashIndex の AttributeName プロパティー に複数の属性名が含まれている場合、HashIndex は複合索引です。そうではなく、含まれている属性名 が 1 つのみの場合は、単一属性索引です。例えば、AttributeName プロパティー値が city,state,zipcode であるような、複合 HashIndex が考えられます。この例では、3 つの属性がコンマで区切られています。もし AttributeName プロパティー値が単に zipcode であれば、属性は 1 つだけなので、単一属性 HashIndex であるということになります。
複合 HashIndex は、 検索条件に多くの属性が関係するような場合に、キャッシュに入れられたオブジェクトを検索する 効果的な方法を提供します。ただし、範囲索引はサポートしないため、 RangeIndex プロパティーは false に設定されている必要があります。
詳しくは、複合索引の使用を参照してください。
単一属性 HashIndex の索引属性が、単一値または複数値のリレーションシップ の場合、その HashIndex はリレーションシップ HashIndex です。リレーションシップ HashIndex の場合、 HashIndex の RangeIndex プロパティーは「false」に設定されている必要があります。
リレーションシップ HashIndex は、循環参照を使用する照会や、IS NULL、IS EMPTY、SIZE、および MEMBER OF 照会フィルターを使用する照会を速くすることができます。詳しくは、索引を使用した照会の最適化を参照してください。
非エンティティー・マップの場合、HashIndex の POJOKeyIndex プロパティーが true に設定されていると、HashIndex はキー HashIndex であり、エントリーのキー部分が索引付けに使用されます。HashIndex の AttributeName プロパティーが指定されていないと、キー全体に索引が付けられます。指定されていると、キー HashIndex は単一属性 HashIndex にしかなりません。
例えば、以下のプロパティーを前記の例に追加すると、POJOKeyIndex プロパティーの値が true のため、HashIndex はキー HashIndex になります。
<property name="POJOKeyIndex" type="boolean" value="true"
description="indicates if POJO key HashIndex" />
前記のキー索引の例では、AttributeName プロパティーの値が employeeCode として指定されているため、索引付き属性はマップ・エントリーのキー部分の employeeCode フィールドです。 キー索引をマップ・エントリーのキー部分全体で作成する場合は、AttributeName プロパティーを除去してください。
HashIndex の RangeIndex プロパティーが true に設定されている場合、その HashIndex は範囲索引であり、MapRangeIndex インターフェースをサポートできます。MapRangeIndex は、 範囲関数 greater than や less than、あるいは両方を使用するデータ検出をサポートしますが、MapIndex は equals 関数 のみをサポートします。単一属性索引の場合、RangeIndex プロパティーを true に設定できるのは、索引付けられる属性のタイプが Comparable の場合に限ります。単一属性索引が照会によって使用される場合、RangeIndex プロパティーは true に設定されていなければならず、索引付けられる属性のタイプは Comparable でなければなりません。リレーションシップ HashIndex および複合 HashIndex の場合、RangeIndex プロパティーは false に設定されていなければなりません。
RangeIndex プロパティーの値が true なので、前記の例は範囲 HashIndex です。
以下の表に、範囲索引の使用についての要約を示します。
HashIndex タイプ | 範囲索引のサポート |
---|---|
単一属性 HashIndex: 索引付けられるキーまたは属性のタイプは Comparable である | はい |
単一属性 HashIndex: 索引付けられるキーまたは属性のタイプは Comparable でない | いいえ |
複合 HashIndex | いいえ |
リレーションシップ HashIndex | いいえ |
索引を定義することで、照会パフォーマンスを大きく向上させることができます。WebSphere® eXtreme Scale 照会は、組み込みの HashIndex プラグインを使用して、照会パフォーマンスを向上させることができます。索引の使用は、照会パフォーマンスを大きく向上させることができますが、トランザクションのマップ操作のパフォーマンスに影響を与えることもあります。