アクセスのタイプ

TBSCAN、IXSCAN、LPREFETCH、IXAND、IXOR、XISCAN、XANDOR、および ACCESS エレメントに共通する局面は、抽象タイプ accessType によって定義されます。

XML Schema

   <xs:complexType name="accessType" abstract="true">
      <xs:attribute name="TABLE" type="xs:string" use="optional"/>
      <xs:attribute name="TABID" type="xs:string" use="optional"/>
      <xs:attribute name="FIRST" type="xs:string" use="optional" fixed="TRUE"/>
      <xs:attribute name="SHARING" type="optionType" use="optional"
        default="ENABLE"/>
      <xs:attribute name="WRAPPING" type="optionType" use="optional"
        default="ENABLE"/>
      <xs:attribute name="THROTTLE" type="optionType" use="optional"/>
      <xs:attribute name="SHARESPEED" type="shareSpeed" use="optional"/>
   </xs:complexType>

   <xs:complexType name="extendedAccessType">
      <xs:complexContent>
         <xs:extension base="accessType">
            <xs:sequence minOccurs="0">
               <xs:element name="INDEX" type="indexType" minOccurs="2"
                 maxOccurs="unbounded"/>
            </xs:sequence>
            <xs:attribute name="INDEX" type="xs:string" use="optional"/>
            <xs:attribute name="TYPE" type="xs:string" use="optional"
              fixed="XMLINDEX"/>
            <xs:attribute name="ALLINDEXES" type="boolType" use="optional"
              fixed="TRUE"/>
         </xs:extension>
      </xs:complexContent>
   </xs:complexType>

説明

すべてのアクセス要求エレメントは、複合タイプ accessType を拡張します。 そのようなエレメントはいずれも、TABLE または TABID 属性を使用して、ターゲット表参照を指定する必要があります。 アクセス要求エレメントから適切な表参照を形成する方法については、最適化ガイドラインにおける表参照の形成を参照してください。

アクセス要求エレメントは、オプションの FIRST 属性を指定することもできます。 FIRST 属性を指定する場合、その値は TRUE でなければなりません。 アクセス要求エレメントに FIRST 属性を追加すると、実行プランには、対応する FROM 節の結合シーケンス内の最初の表として指定の表を組み込む必要があることを示します。 FIRST 属性を指定できるアクセスまたは結合要求は、FROM 節あたり 1 つだけです。 1 つの同じ FROM 節の表をターゲットとする複数のアクセスまたは結合要求が FIRST 属性を指定した場合、そのような要求のうちの最初のもの以外はすべて無視されて、警告 (SQL0437W と理由コード 13) が戻ります。

新しい最適化ガイドラインを使用すると、コンパイラーのスキャン・シェアリングの決定に影響を与えることができます。 コンパイラーが共有スキャン、ラッピング・スキャン、またはスロットル調整を許可していた場合、適切なガイドラインを指定することによって、共有スキャン、ラッピング・スキャン、またはスロットル調整を回避できます。 共有スキャンは、スキャン・シェアリングに加わっている他のスキャンから参照でき、その共有スキャンの情報に基づいて他のスキャンは特定の決定を下せます。 ラッピング・スキャンは、表内の任意のポイントで開始して、既にバッファー・プール内にあるページを活用できます。 共有の全体レベルを増すために、スロットル・スキャンは遅延しています。

有効な optionType 値 (SHARING、WRAPPING、および THROTTLE 属性) は DISABLE と ENABLE (デフォルト) です。 SHARING および WRAPPING は、コンパイラーがそれらを使用不可にするよう選択するとき、使用できません。 ENABLE の使用は、それらの場合には、効果がありません。 THROTTLE は有効または無効にすることができます。 有効な SHARESPEED 値 (コンパイラーのスキャン速度の見積もりをオーバーライドするための値) は FAST および SLOW です。 デフォルトを使用すると、コンパイラーはその見積もりに基づいて値を判別できます。

TYPE 属性の唯一サポートされている値は XMLINDEX です。これは、IXAND、IXOR、XANDOR、または XISCAN などの XML 索引アクセス方式の 1 つを使用して表にアクセスする必要があることを、オプティマイザーに示します。 この属性を指定しないと、指定された表のアクセス・プランを選択するときに、オプティマイザーはコスト・ベースの決定をします。

オプションの INDEX 属性を使用して、索引名を指定することができます。

オプションの INDEX エレメントを使用して、2 つ以上の索引の名前を索引エレメントとして指定できます。 INDEX 属性と INDEX エレメントが両方とも指定されている場合、INDEX 属性は無視されます。

オプションの ALLINDEXES 属性 (唯一のサポートされている値は TRUE) は、TYPE 属性に XMLINDEX の値がある場合にのみ、指定できます。 ALLINDEXES 属性が指定されている場合、オプティマイザーは、指定された表へのアクセスに、コストに関係なく、すべての適用可能なリレーショナル索引および XML データの索引を使用する必要があります。