スケーラブルデータベースサーバ HiRDB Version 8 解説(Windows(R)用)
表を横分割した場合,横分割した表に対応させてインデクスも複数のユーザ用RDエリアにわたって横分割することをインデクスの横分割といいます。また,横分割したインデクスを横分割インデクスといいます。インデクスを横分割すると,インデクスの一括作成又は再作成をするときに,ユーザ用RDエリア又はユーザLOB用RDエリアごとに独立した運用ができます。インデクスの横分割を次の図に示します。
図3-22 インデクスの横分割
表を横分割した場合,定義するインデクスが分割キーインデクスか,非分割キーインデクスかを意識する必要があります。分割キーインデクス及び非分割キーインデクスについては,「(3)分割キーインデクスと非分割キーインデクス」を参照してください。インデクスの種類によるインデクスの横分割指針を次の表に示します。
表3-6 インデクスの横分割指針(HiRDB/シングルサーバの場合)
インデクスの種類 | 分割指針 |
---|---|
分割キーインデクスの場合 | 横分割した表に対応させてインデクスも横分割してください。 |
非分割キーインデクスの場合 | インデクスを横分割しないことをお勧めします。インデクスを横分割すると,インデクスを使用した検索性能が悪くなることがあります。 ただし,表のデータが非常に多い場合は,インデクスの横分割を検討してください。インデクスを横分割すると,表格納RDエリアとインデクス格納RDエリアが1対1で管理できるため,ユティリティの操作性が向上します。例えば,インデクスを横分割しない場合にRDエリア単位のデータロード,又はRDエリア単位の再編成をしたときは,データロード又は再編成後にインデクスを一括作成する必要があります。インデクスを横分割すれば,RDエリア単位のデータロード,又はRDエリア単位の再編成後にインデクスを一括作成する必要はありません。 |
インデクスの横分割の例(HiRDB/シングルサーバの場合)を次の図に示します。
図3-23 インデクスの横分割の例(HiRDB/シングルサーバの場合)
HiRDB/パラレルサーバの場合,表をサーバ内横分割するか,又はサーバ間横分割するかによってインデクスの横分割指針が変わります。
定義するインデクスが分割キーインデクスか,非分割キーインデクスかを意識する必要があります。分割キーインデクス及び非分割キーインデクスについては,「(3)分割キーインデクスと非分割キーインデクス」を参照してください。インデクスの種類によるインデクスの横分割指針を次の表に示します。
表3-7 インデクスの横分割指針(HiRDB/パラレルサーバの場合)
インデクスの種類 | 分割指針 |
---|---|
分割キーインデクスの場合 | 横分割した表に対応させてインデクスも横分割してください。 |
非分割キーインデクスの場合 | インデクスを横分割しないことをお勧めします。インデクスを横分割すると,インデクスを使用した検索性能が悪くなることがあります。 ただし,表のデータが非常に多い場合は,インデクスの横分割を検討してください。インデクスを横分割すると,表格納RDエリアとインデクス格納RDエリアが1対1で管理できるため,ユティリティの操作性が向上します。例えば,インデクスを横分割しない場合にRDエリア単位のデータロード,又はRDエリア単位の再編成をしたときは,データロード又は再編成後にインデクスを一括作成する必要があります。インデクスを横分割すれば,RDエリア単位のデータロード,又はRDエリア単位の再編成後にインデクスを一括作成する必要はありません。 |
インデクスの横分割の例(サーバ内横分割の場合)を次の図に示します。
図3-24 インデクスの横分割の例(サーバ内横分割の場合)
横分割した表に対応させてインデクスも横分割してください。定義するインデクスが分割キーインデクスか,非分割キーインデクスかを意識する必要はありません。インデクスの横分割の例(サーバ間横分割の場合)を次の図に示します。
図3-25 インデクスの横分割の例(サーバ間横分割の場合)
インデクスがある一定の条件を満たすと,そのインデクスは分割キーインデクスになります。条件を満たさないインデクスは非分割キーインデクスになります。ここでは,その条件について説明します。この条件は,表が単一列分割か複数列分割かによって異なります。表の分割条件に一つの列だけを使用している場合を単一列分割といい,表の分割条件に複数の列を使用している場合を複数列分割といいます。
次に示すどちらかの条件を満たす場合,そのインデクスは分割キーインデクスになります。
ZAIKO表を例にして,インデクスが分割キーインデクスになる場合を次の図に示します。
図3-26 分割キーインデクスになる場合(単一列分割の場合)
CREATE INDEX A12 ON ZAIKO (SCODE ASC) 1 CREATE INDEX A12 ON ZAIKO (SCODE ASC,TANKA DESC) 2 CREATE INDEX A12 ON ZAIKO (TANKA DESC,SCODE ASC) 3
次に示す条件を満たす場合,そのインデクスは分割キーインデクスになります。
ZAIKO表を例にして,インデクスが分割キーインデクスになる場合を次の図に示します。
図3-27 分割キーインデクスになる場合(複数列分割の場合)
CREATE INDEX A12 ON ZAIKO (SCODE ASC,TANKA DESC) 1 CREATE INDEX A12 ON ZAIKO (SCODE ASC,TANKA DESC,ZSURYO ASC) 2 CREATE INDEX A12 ON ZAIKO (TANKA DESC,SCODE ASC) 3 CREATE INDEX A12 ON ZAIKO (SCODE ASC,ZSURYO DESC,TANKA ASC) 4
All Rights Reserved. Copyright (C) 2006, 2016, Hitachi, Ltd.