"データベースのテーブルのパーティション分割を行うパーティション分割装置であって、入力データの範囲参照検索区間の端点を抽出して境界線候補として境界線候補記憶手段に格納し、該境界線候補とデータアクセスに要するIOコストをゼロとしたパーティション分割を生成してパーティション分割候補記憶手段に格納するパーティション生成手段と、前記範囲参照検索区間の両端を除く境界線を一つ削除し、削除後のパーティション分割を生成し、IOコスト増分値を計算し、前記パーティション分割候補記憶手段に格納する境界線削除手段と、前記パーティション分割候補記憶手段の前記パーティション分割候補のパーティション数が所定の数N以下で、かつ、IOコスト増分値が最小となるパーティション分割候補をパーティション分割の結果として出力する評価手段と、を有することを特徴とするパーティション分割装置。前記パーティション生成手段は、シーケンシャルスキャンが多く実行されるように、最も細分化したパーティション分割を行う請求項1記載のパーティション分割装置。前記境界線削除手段は、前記IOコストを計算する際に、前記境界線を削除する前後におけるIOコスト増分を、前記入力データの全ての範囲参照検索範囲に渡る総和とし、個々の範囲参照検索範囲に対する個別のIOコスト増分値を、予め設定されている行数の見積もり値及び行当りのインデックススキャンのIOコストとシーケンシャルスキャンのIOコストの比を元に計算した、行当りのインデックススキャンのIOコストと対象行数の乗算値、または、行当りのシーケンシャルスキャンのIOコストとパーティション内の行数の乗算値のうち小さい値とする請求項1記載のパーティション分割装置。データベースのテーブルのパーティション分割を行うパーティション分割方法であって、パーティション分割手段が、入力データの範囲参照検索区間の端点を抽出して境界線候補として境界線候補記憶手段に格納し、該境界線候補とデータアクセスに要するIOコストをゼロとしたパーティション分割を生成してパーティション分割候補記憶手段に格納するパーティション生成ステップと、境界線削除手段が、前記範囲参照検索区間の両端を除く境界線を一つ削除し、削除後のパーティション分割を生成し、IOコスト増分値を計算し、前記パーティション分割候補記憶手段に格納する境界線削除ステップと、評価手段が、前記パーティション分割候補記憶手段の前記パーティション分割候補のパーティション数が所定の数N以下で、かつ、IOコスト増分値が最小となるパーティション分割候補をパーティション分割の結果として出力する評価ステップと、を行うことを特徴とするパーティション分割方法。前記パーティション生成ステップにおいてシーケンシャルスキャンが多く実行されるように、最も細分化したパーティション分割を行う請求項4記載のパーティション分割方法。前記境界線削除ステップにおいて、前記IOコストを計算する際に、前記境界線を削除する前後におけるIOコスト増分を、前記入力データの全ての範囲参照検索範囲に渡る総和とし、個々の範囲参照検索範囲に対する個別のIOコスト増分値を、予め設定されている行数の見積もり値及び行当りのインデックススキャンのIOコストとシーケンシャルスキャンのIOコストの比を元に計算した、行当りのインデックススキャンのIOコストと対象行数の乗算値、または、行当りのシーケンシャルスキャンのIOコストとパーティション内の行数の乗算値のうち小さい値とする請求項4記載のパーティション分割方法。コンピュータを、請求項1乃至3のいずれか1項に記載のパーティション分割装置の各手段として機能させるためのパーティション分割プログラム。上述したように、テーブルのパーティション分割を行うことで、検索対象データが存在しないパーティションに関しては、図1に示すように応答性能向上を図ることができる。図1aはテーブル分割を行わなかった場合を示し、同図bはテーブル分割を行った場合のシーケンシャルスキャンによるアクセス範囲を示している。また、不要なデータアクセスを行わないように適切なパーティション分割を探索するにあたり、一般的にはパーティション分割数を増大させることで全ての想定される範囲参照検索に対しアクセス不要なパーティションを常に用意することができる。しかしその一方で、パーティション数を増大させ過ぎると、アクセス先のパーティションを決定する処理やパーティションごとの固有処理で必要なオーバヘッドが無視できないほど大きくなるため適当といえない。結果的には、応答性能向上を目的としたパーティション分割ではパーティション数はある有限な値をとらざるを得ない。本発明は、上記の点に鑑みなされたもので、設定されたパーティション数に対し、範囲参照検索の応答性能向上を目的とした適切なパーティション分割を取得することが可能なテーブルパーティション分割装置及び方法及びプログラムを提供することを目的とする。上記の課題を解決するため、本発明請求項1は、データベースのテーブルのパーティション分割を行うパーティション分割装置であって、入力データの範囲参照検索区間の端点を抽出して境界線候補として境界線候補記憶手段に格納し、該境界線候補とデータアクセスに要するIOコストをゼロとしたパーティション分割を生成してパーティション分割候補記憶手段に格納するパーティション生成手段と、前記範囲参照検索区間の両端を除く境界線を一つ削除し、削除後のパーティション分割を生成し、IOコスト増分値を計算し、前記パーティション分割候補記憶手段に格納する境界線削除手段と、前記パーティション分割候補記憶手段の前記パーティション分割候補のパーティション数が所定の数N以下で、かつ、IOコスト増分値が最小となるパーティション分割候補をパーティション分割の結果として出力する評価手段と、を有する。また、本発明請求項2は、前記パーティション生成手段において、シーケンシャルスキャンが多く実行されるように、最も細分化したパーティション分割を行う。また、本発明請求項3は、前記境界線削除手段において、前記IOコストを計算する際に、前記境界線を削除する前後におけるIOコスト増分を、前記入力データの全ての範囲参照検索範囲に渡る総和とし、個々の範囲参照検索範囲に対する個別のIOコスト増分値を、予め設定されている行数の見積もり値及び行当りのインデックススキャンのIOコストとシーケンシャルスキャンのIOコストの比を元に計算した、行当りのインデックススキャンのIOコストと対象行数の乗算値、または、行当りのシーケンシャルスキャンのIOコストとパーティション内の行数の乗算値のうち小さい値とする。本発明によれば、範囲参照検索の応答性能向上を図ることができる。また、不要なデータアクセスを行わないような適切なパーティション分割の分割方法境界線を指定する分割キー値を出力するアドバイザを実現できる。以下図面と共に、本発明の実施の形態を説明する。本発明のパーティション分割装置の構成について説明する。図2は、本発明の一実施の形態におけるパーティション分割装置の構成を示す。同図に示すパーティション分割装置は、入力データ記憶部1、ヒストグラム記憶部8、分割処理部2、出力データ記憶部3、境界線候補記憶部4、パーティション分割候補記憶部5、パーティション数記憶部6、IOコスト比設定値記憶部7から構成される。入力データ記憶部1、ヒストグラム記憶部8、出力データ記憶部3、境界線候補記憶部4、パーティション分割候補記憶部5、パーティション数記憶部6、IOコスト比設定値記憶部7は、ハードディスク装置等の記憶媒体に設けられる。図3に、入力データ記憶部1に格納されている入力データの例を示す。入力データはクエリ名、分割キー名、範囲参照検索区間開始値と範囲参照検索区間終了値を含む。パーティション数記憶部6には、後述する図5のステップ110で用いられるパーティション数設定値Nを保持する。例えば、N=3の場合は、3を保持する。当該行の見積もり値は、分割キーの範囲から行数を見積もるためにはデータ分布が必要なため、ヒストグラム記憶部8の図4に示すヒストグラムを使用する。例えば、分割キー1の値が15と40の間の行数を見積もるには線形補間を用いて、見積もり行数=FLOOR25×10×により計算する。但し、FLOORは小数点切り下げを表す。IOコスト比設定値記憶部7は、運用者により設定された行当りのインデックススキャンのIOコストとシーケンシャルスキャンのIOコストの比が格納されている。例えば、図5のステップ100のIOコスト比p設定値を保持する。例えば、p2000の場合は2000を保持する。パーティション数記憶部6とIOコスト比設定値記憶部7のデータは、分割処理部2によるIOコスト増分値の計算に利用される。以下に本発明の概要動作を示す。図5は、本発明の一実施の形態における全体動作のフローチャートである。ステップ100パーティション分割処理部2は、IOコスト比設定値記憶部7からIOコスト比p設定値を取得する。ステップ110次に、分割処理部2は、パーティション数記憶部6からパーティション数設定値Nを取得する、ステップ130パーティション分割を行うにあたり、まず、分割処理部2は、パーティション分割の初期生成として、図6Aに示す入力データを入力データ記憶部1から読み込み、当該入力データを元に最も細分化されたパーティション分割図6Bを生成し、これを基本とし、境界線候補記憶部4に格納する。このとき、シーケンシャルスキャンが多く実行されるようにパーティション分割を行う。これは、インデックススキャンはまずインデックス木のルートからリーフまで辿ることでアクセス先を決定してからテーブルデータにアクセスするのに対し、シーケンシャルスキャンは直接テーブルデータにアクセスするため、行当りのIOコストはインデックススキャンよりもシーケンシャルスキャンの方が常に小さいからである。具体的には、図7に示すように、入力データの範囲参照検索範囲の端点開始値、終了値を全て使用し、これを境界線としたパーティション分割を得る。これにより図8Aに示すような分割キー境界候補が得られる。分割キー1の境界線数を3、分割キー2の境界線数を3とすると、パーティション数=3-1×3-1=4となる。ステップ140上記のパーティション分割の結果をパーティション分割候補としてパーティション分割候補記憶部5に格納する。ステップ150次に、一つの境界線を削除する処理を行う。このとき、削除できる境界線が存在するかを判定し、存在する場合は、ステップ160に移行し、存在しない場合はステップ170に移行する。図9に、分割キー1、分割キー2を分割キーとした場合の境界線削除処理の例を示す。定義域の両端は削除不可とするため、削除可能な境界線は分割キー1の1、2、3及び分割キー2の1、2となる。分割キー1の1、2、3のいずれかを削除した場合はパーティション数が12から9に減少し、分割キー2の1、2のいずれかを削除した場合はパーティション数が12から8に減少する。ステップ160ステップ150において、境界線数を1減少させた場合のパーティション分割を取得してパーティション分割候補記憶部5に格納する。ステップ170上記の境界線を削除したことにより、図10に示すように、アクセス範囲が大きくなり、不要なアクセスが増大し、IOコスト増分となる。そのため、分割処理部2は、可能なパーティション分割を生成し、IOコスト増分値を計算し、パーティション分割候補から、パーティション数≦Nを満たすIOコスト増分値が最小となるパーティション分割を抽出して出力データ記憶部3に出力する。IOコスト増分値の計算にあたっては、境界線を削除する前後におけるIOコスト増分を、入力データの全ての範囲参照検索範囲にわたる総和とする。ここで、個々の範囲参照検索範囲に対する個別のIOコスト増分値は、パーティション数記憶部6の行数の見積もり値及びIOコスト比設定値記憶部7の行当りのインデックススキャンのIOコストとシーケンシャルスキャンのIOコストの比運用者によるシステム設定値を元に計算した以下のうちでいずれかが小さい値として得る。行当りのインデックススキャンのIOコスト×対象行数行当りのシーケンシャルスキャンのIOコスト×パーティション内の行数以下に図5の各処理について詳細に説明する。まず、図5のステップ130のパーティション分割の初期生成処理について説明する。図11は、本発明の一実施の形態における図5のS130のパーティション分割の初期生成処理のフローチャートである。ステップ200パーティション分割処理部2は、境界線候補記憶部4を初期化する。ステップ210入力データから1行読み出して範囲参照検索区間の端点を取り出す。ステップ220端点が既に境界線候補記憶部4の境界線候補に存在するかを判定し、存在する場合はステップ240に移行し、存在しない場合はステップ230に移行する。ステップ230区間の端点を分割キー値の昇順になるように境界線候補記憶部4の境界線候補に追加する。ステップ240入力データ記憶部1に読み出していない入力データがある場合はステップ210に移行し、ない場合はステップ250に移行する。ステップ250得られた境界線候補を境界線候補、IOコスト増分値をゼロとしたパーティション分割を生成し、パーティション分割候補記憶部5に格納する。次に、図5のステップ160のパーティション分割取得処理について説明する。図12は、本発明の一実施の形態における図5のS160のパーティション分割取得処理のフローチャートである。ステップ300パーティション分割処理部2は、ステップ150において、一つ削除できる境界線がある場合に、パーティション分割候補記憶部5に一つ境界線を削除した後の境界線数をMと記述し、境界線数Mのパーティション分割候補を初期化する。ステップ310境界線数M1のパーティション分割候補からIOコストが最小となるパーティションを一つ選択する。ステップ315選択したパーティション分割のパーティション数≦N設定値である場合はステップ395に移行し、そうでない場合はステップ320に移行する。ステップ320パーティション分割候補記憶部5のパーティション分割候補の中で一つ境界線但し、定義域の両端は対象外を選択する。ステップ330選択されたパーティション数M1のパーティション候補のIOコスト増分値をこれから計算するIOコスト増分値の初期値とする。ステップ340入力データから1行読み出して範囲参照検索区間を取り出す。ステップ350選択した境界線または隣接した境界線は区間と重なる場合はステップ360に移行し、重ならない場合はステップ370に移行する。ステップ360境界線を削除した場合の個別IOコスト増分を計算し、IOコスト増分値に加算する。詳細な処理については図13で説明する。ステップ370入力データ記憶部1に読み出していない入力データがある場合はステップ340に移行し、ない場合はステップ380に移行する。ステップ380パーティション分割候補記憶部5にパーティション分割候補を追加する。ステップ390パーティション分割候補記憶部5内に選択していない境界線がある場合はステップ320に移行する。ステップ395IOコスト最小の選択していない境界線数M1のパーティション分割候補がパーティション分割候補記憶部5に存在する場合にはステップ310に移行し、ない場合は当該処理を終了する。上記のステップ360の処理の例を図13に示す。図13において、丸はパーティション分割候補であり、丸の中の数字はパーティション初期生成からのIOコストを表す但し、説明の便宜上初期生成のコストはゼロではなく80とした。パーティション初期生成境界線数3を出発として境界線を一つずつ削除し、削除可能な境界線が存在しなくなるまで境界線配置の組合せを生成する。例えば、パーティション数設定値が2の場合、パーティション数が2以下のパーティション分割候補のIOコスト増分値を比較し、IOコストが最小となるパーティション分割を取得する。上記のステップ360の個別IOコスト増分値の計算処理について説明する。図14は、本発明の一実施の形態における図12のS360の個別IOコスト増分値の計算処理のフローチャートである。ステップ400パーティション分割処理部2は、選択した境界線、隣接した境界線、区間を元にパーティション内の行数q1、q2と検索対象の行数r1,r2を計算する。このとき、ヒストグラム記憶部8から図4に示すようなヒストグラムを読み出し、線形補間により行数q1,q2と検索対象の行数r1,r2を計算する。ステップ410以下の個別IOコスト増分値を計算する。min,q1q2-minr1,q1-minr2,q2上記の図14の処理によるIOコスト計算の例を以下に示す。図15において、パーティションiに対して検索対象行数をri、パーティション内行数をqiとする。また、行当りのシーケンシャルスキャンのコストを1、行当りのインデックススキャンのIOコストを1pとする。全テーブルのIOコストはΣiを全パーティションの総和とすれば、Σimin×riqiとなる。すなわち、各パーティションで1p×riまたはqiのうちで小さい方をとった全パーティションの総和となる。そこで選択した境界線を削除してパーティションを併合した場合図15のIOコスト増分値は式となる。上記のフローチャートで説明したように、パーティション分割を行うにあたり、まず、パーティションの分割の初期生成として、入力データ図3を元に、図5のステップ130の処理により最も細分化されたパーティション分割を生成する。次に、一つの境界線を削除する処理を実行し、全ての可能なパーティション分割を生成し、IOコスト増分値を計算する図5のステップ160。この処理では、図15に示すように、削除する境界線各候補にわたってIOコスト増分値を評価する。IOコスト増分値の計算は、境界線を削除する前後におけるIOコスト増分を、入力データの全ての範囲参照検索範囲に渡る総和とする。こうしてパーティション分割をパーティション数が設定値以下に達するかステップ315または、削除できる境界線が存在しなくなるまで生成しステップ150、IOコスト増分値を評価した後、パーティション群かつ候補のうちパーティション数が設定値以下の条件を満たすIOコスト増分値が最小となるパーティション分割を結果として出力するステップ170。パーティション分割の出力の例を図16に示す。図16に示すように、パーティション分割初期生成では、パーティション数が大きすぎるため、パーティション数削減を行う。パーティション数が設定値例えば、3以下に到達した時点で次世代の生成は打ち切る。このようにして、パーティション数が設定値以下でIOコスト増分値が最小となるパーティション分割を結果として出力データ記憶部3に出力する。当該出力結果は、例えば、図17に示すようなパーティション分割のテーブル定義のために用いることができる。図17の例では、パーティション数3の場合を示している。テーブルpartitionをテーブルpartition0,patition1,patition2にパーティション分割する分割キーkeyの値の定義域0<key≦10に対して境界線をkey2,5とする。本発明では、入力データを利用し、与えられたワークロードに対してよりシーケンシャルスキャンが多く実行されるようにパーティション分割を行う。図18aは、分割キー値の等間隔のパーティション分割を示し、同図bは本発明の初期生成時のパーティション分割を示す。同図aの検索範囲の参照検索が実行された場合、等間隔のパーティション分割においてはパーティション3内のデータの一部のみ検索対象となるのに対し、同図bの本発明による初期生成時のパーティション分割においては、入力データの範囲参照検索範囲の端点を境界線としたためパーティション3内の全データが検索対象となる。なお、図2のパーティション分割装置の各構成要素の動作をプログラムとして構築し、パーティション分割装置として利用されるコンピュータにインストールして実行させる、または、ネットワークを介して流通させることが可能である。本発明は、上記の実施の形態に限定させることなく、特許請求の範囲内において、種々変更応用が可能である。"