並列処理のためのデータベースのテーブルのパーティション分割を行うパーティション分割装置であって、境界線候補記憶手段を初期化し、入力データのキー項目に対してキー値の小さい順に境界線を決定し、取得した所定の行数を所定のパーティション数初期値で除した行数に各パーティションを等分割し、該境界線を該境界線候補記憶手段に格納し、分割された各パーティション分割候補をパーティション分割候補記憶手段に格納するパーティション初期分割手段と、パーティション分割の境界線のうちで両端を除く境界線を一つ削除し、削除後のパーティション分割を生成し、並列スキャン処理の並列数を取得し、並列スキャン処理単位毎に割り当てられたIOコストうちで最大値を前記入力データのクエリに対するIOコストとし、前記パーティション分割候補記憶手段に格納する境界線削除手段と、前記パーティション分割候補記憶手段のパーティション分割候補からパーティション数が所定のパーティション数以下のコスト値が最小となるパーティション分割を出力する評価手段と、を有することを特徴とするパーティション分割装置。前記境界線削除手段は、前記並列数の前記スレッドに対して、各パーティションをラウンドロビンで対応付ける請求項1記載のパーティション分割装置。前記境界線削除手段は、前記IOコストを、与えられた行当りのインデックススキャンのIOコストとシーケンシャルスキャンのIOコストの比を用いて計算する請求項1記載のパーティション分割装置。並列処理のためのデータベースのテーブルのパーティション分割を行うパーティション分割方法であって、パーティション初期分割手段が、境界線候補記憶手段を初期化し、入力データのキー項目に対してキー値の小さい順に境界線を決定し、取得した所定の行数を所定のパーティション数初期値で除した行数に各パーティションを等分割し、該境界線を該境界線候補記憶手段に格納し、分割された各パーティション分割候補をパーティション分割候補記憶手段に格納するパーティション初期分割ステップと、境界線削除手段が、パーティション分割の境界線のうちで両端を除く境界線を一つ削除し、削除後のパーティション分割を生成し、並列スキャン処理の並列数を取得し、並列スキャン処理単位毎に割り当てられたIOコストうちで最大値を前記入力データのクエリに対するIOコストとし、前記パーティション分割候補記憶手段に格納する処理を、削除できる境界線がなくなるまで行う境界線削除ステップと、評価手段が、前記パーティション分割候補記憶手段のパーティション分割候補からパーティション数が所定のパーティション数以下のコスト値が最小となるパーティション分割を出力する評価ステップと、を行うことを特徴とするパーティション分割方法。前記境界線削除ステップにおいて、前記並列数の前記スレッドに対して、各パーティションをラウンドロビンで対応付ける請求項4記載のパーティション分割方法。前記境界線削除ステップにおいて、前記IOコストを、与えられた行当りのインデックススキャンのIOコストとシーケンシャルスキャンのIOコストの比を用いて計算する請求項4記載のパーティション分割方法。コンピュータを、請求項1乃至3のいずれか1項に記載のパーティション分割装置の各手段として機能させるためのパーティション分割プログラム。しかしながら、上記の範囲参照検索において、テーブルのパーティション分割を行い並列アクセスを実行するにあたり、応答時間は複数の並列アクセス処理単位以下、スレッドと記すの中で応答時間が最大となるスレッドの応答時間のみにより決まるため、もし検索対象データが各パーティションに均等に分配されていなければ、並列アクセスの効果を享受することができない。具体的には、並列アクセス数典型的にはCPUコア数に等しいを、例えば4とした場合、いくら3スレッドの応答時間を小さくしても残り1スレッドの応答時間が変わらなければ、系全体の応答性能は変わらない。並列アクセスの応答性能向上を目的としたパーティション分割方式を検討するにあたり、検索対象データを各パーティションに分散配置し、並列に同時にアクセスを行った場合に応答時間が最大となるスレッドの応答時間を小さく抑えることで系全体の応答性能向上を図ることができる。そこで各スレッドが分担するIOコストが均等になるように検索対象データを各スレッドに分配する。そこで、並列アクセス数例えば並列アクセス数を4とするに対し、パーティション数の各パーティションに対し、各スレッドが担当するアクセス先パーティションをラウンドロビンにより対応付け実際には並列アクセスのアクセス先を決める処理は並列アクセス処理の実装に依存する、各スレッドが扱うIOコストが均等になるように検索対象データの各パーティションへの分配を行う。この例を図1に示す。同図では、並列アクセス数が設定値例えば、4、CPUコア数、並列アクセス単位以下スレッドと記すのアクセス先パーティションへの対応付けをラウンドロビンにより決める場合を示す。図1では、スレッドiをパーティションimod4に対応付ける例を示すが、実際には並列アクセスの実装に依存する。ここでIOコストは全てのパーティション、ワークロード内の全てのクエリからの寄与の和として定義する。ワークロード内のクエリQに対するパーティションiのIOコストをXjとした場合、系のコストは、ΣQmaxとなる。ただし、Ximin×パーティションiの対象行数、パーティションi全行数であり、1pは、インデクススキャンの1行あたりIOコスト/シーケンススキャンの1行当りのIOコストである。各パーティションにおいては、インデックススキャンまたはシーケンシャルスキャンのうちでIOコストの小さい方を選択する。行数見積もりは行数分布のヒストグラムから線形補間で行う。上記のように、各スレッドが扱うIOコストが均等になるような分配方法のひとつは各行を各パーティションとして細分し、パーティション数を最大にすることである。しかし、その一方で、パーティション数を増大させすぎると、アクセス先のパーティションを決定する処理やパーティションごとの固有処理で必要なオーバヘッドが無視できない程大きくなるため適当といえない。結果的には応答性能向上を目的としたパーティション分割ではパーティション数はある有限な値を取らざるを得ない。本発明は、上記の点に鑑みなされたもので、設定されたパーティション数に対し、範囲参照の並列アクセスの応答性能向上を目的とした適切なパーティション分割が可能なパーティション分割装置及び方法及びプログラムを提供することを目的とする。上記の課題を解決するため、本発明請求項1は、並列処理のためのデータベースのテーブルのパーティション分割を行うパーティション分割装置であって、境界線候補記憶手段を初期化し、入力データのキー項目に対してキー値の小さい順に境界線を決定し、取得した所定の行数を所定のパーティション数初期値で除した行数に各パーティションを等分割し、該境界線を該境界線候補記憶手段に格納し、分割された各パーティション分割候補をパーティション分割候補記憶手段に格納するパーティション初期分割手段と、パーティション分割の境界線のうちで両端を除く境界線を一つ削除し、削除後のパーティション分割を生成し、並列スキャン処理の並列数を取得し、並列スキャン処理単位毎に割り当てられたIOコストうちで最大値を前記入力データのクエリに対するIOコストとし、前記パーティション分割候補記憶手段に格納する境界線削除手段と、前記パーティション分割候補記憶手段のパーティション分割候補からパーティション数が所定のパーティション数以下のコスト値が最小となるパーティション分割を出力する評価手段と、を有する。また、本発明請求項2は、前記境界線削除手段において、前記並列数の前記スレッドに対して、各パーティションをラウンドロビンで対応付ける。また、本発明請求項3は、前記境界線削除手段において、前記IOコストを、与えられた行当りのインデックススキャンのIOコストとシーケンシャルスキャンのIOコストの比を用いて計算する。本発明によれば、入力データを利用し、与えられたワークロードに対して並列アクセスにおけるアクセスコストが各スレッドへより均等に分配されるようにパーティション分割を行うことで範囲参照検索の並列アクセスの応答性能向上を図ることができる。また、各スレッドのアクセスコストの分配が均等となるような適切なパーティション分割の分割方法境界線を指定する分割キー値を出力するアドバイザを実現できる。以下図面と共に、本発明の実施の形態を説明する。まず、本発明の概要を説明する。以下に、本発明を具体的に説明する。図2は、本発明の一実施の形態におけるパーティション分割装置の構成を示す。同図に示すパーティション分割装置は、入力データ記憶部1、パーティション分割処理部2、出力データ記憶部3、境界線候補記憶部4、パーティション分割候補記憶部5、パーティション数記憶部6、IOコスト比設定値記憶部7、ヒストグラム記憶部8、並列数設定値記憶部9、パーティション数初期値記憶部10から構成される。なお、同図では、入力データ記憶部1、出力データ記憶部3、境界線候補記憶部4、パーティション分割候補記憶部5、パーティション数記憶部6、IOコスト比設定値記憶部7、ヒストグラム記憶部8、並列数設定値記憶部9、パーティション数初期値記憶部10が、それぞれ異なる記憶媒体に格納されるように示されているが、この例に限定されることなく、個々の記憶媒体または、データベース等の複数の種類のデータを格納する記憶媒体に格納してもよい。パーティション分割処理部2は、CPUで動作する処理部であり、データバスにより上記の記憶部と接続されている。図3は、本発明の一実施の形態における入力データのフォーマットを示す。入力データは、クエリ名、分割キー名、範囲参照検索区間開始値、範囲参照検索区間終了値を含む。同図に示すように入力データは、分割キーの取り得る範囲定義域も登録する。当該入力データは入力されると入力データ記憶部1に格納される。図4は、本発明の一実施の形態におけるヒストグラム記憶部のフォーマットであり、ヒストグラム記憶部8は、分割キー名、開始値、終了値、行数を格納する。図5は、本発明の一実施の形態におけるパーティション数記憶部の例であり、パーティション記憶部6には、予めパーティション数設定値Nが格納される。図6は、本発明の一実施の形態におけるIOコスト比記憶部の例であり、IOコスト比記憶部7には、運用者により設定された行当りのインデックススキャンのIOコストとシーケンシャルスキャンのIOコストの比が格納されている。例えば、図11のステップ100のIOコスト比pを保持する。例えば、p=2000の場合は、2000を保持する。上記のパーティション数記憶部6とIOコスト比設定値記憶部7のデータは、パーティション分割処理部2によるIOコスト増分値の計算に利用される。図7は、本発明の一実施の形態における並列数設定値記憶部の例であり、予め並列数が格納される。図8は、本発明の一実施の形態におけるパーティション数初期値記憶部の例であり、分割キーごとにパーティション数の初期値が格納される。図9は、本発明の一実施の形態における境界線候補記憶部の例であり、境界線候補数が3の場合を示している。分割キーの追加、削除は分割キー値が昇順を保つような位置への挿入、削除により行う。図10は、本発明の一実施の形態におけるパーティション分割候補記憶部の例であり、同図aは、初期生成時の例を示し、同図bは初期生成時以外の例を示す。同図aにおいて、分割キー1の境界線数を3、分割キー2の境界線数3とすると、パーティション数は、3-1×3-1=4となる。上記の構成における装置の動作を説明する。図11は、本発明の一実施の形態におけるパーティション分割装置の全体動作のフローチャートである。以下では、すでに入力データが入力され、入力データ記憶部1に格納されているものとする。ステップ100パーティション分割処理部2は、IOコスト比設定値記憶部7からIOコスト比pを取得する。ステップ110パーティション分割処理部2は、パーティション数記憶部6からパーティション数Nを取得する。ステップ120パーティション分割処理部2は、並列数設定値記憶部9から並列数を取得する。ステップ125パーティション分割処理部2は、パーティション数初期値記憶部10からパーティション数の初期値を取得する。ステップ130パーティション分割処理部2は、パーティション分割の初期生成を行う。パーティション分割を行うにあたり、まず、パーティションの初期生成として検索対象データの行数が均等なパーティション分割初期生成のパーティション分割数は設定値とするを生成する。この例を図12に示す。同図に示すパーティション分割初期生成の例では、分割キーの定義域を分割数がパーティション数初期値設定値、例えば、10となるように行数で等分割したパーティション分割を初期候補とする。パーティションの分割を行うにあたり、図3に示す入力データを入力データ記憶部1から読み込み、当該入力データを元に最も細分化されたパーティション分割を生成し、境界線候補記憶部4に格納する。具体的には、図9に示すように、入力データの範囲参照検索範囲の端点開始値、終了値を全て使用し、これを境界線としたパーティション分割を得る。これにより、図10aに示すような分割キー境界候補が得られる。同図の例において、分割キー1の境界線数を3、分割キー2の境界線数を3とすると、パーティション数=3-1×3-1=4となる。ステップ140パーティション分割処理部2は、図10に示すように分割キーの集合をパーティション分割候補としてパーティション分割候補記憶部5に格納する。なお、パーティション数は図10から導出可能である。ステップ150パーティション分割処理部2は、削除できる境界線が存在するかを判定する。なお、定義域の両端は削除不可である。具体的には、パーティション数>設定値Nであれば存在すると判定し、ステップ160に移行し、パーティション数≦設定値Nの場合は存在しないと判定し、ステップ170に移行する。ステップ160ステップ150で削除できる境界線があると判断された場合は、境界線数を1減少させた場合のパーティション分割を取得し、パーティション分割候補記憶部5に格納し、ステップ140に戻る。詳細な処理については図18で後述する。ステップ170パーティション分割処理部2は、上記で境界線を削除したことにより、アクセス範囲が大きくなり、パーティション分割を生成し、IOコスト増分値を計算し、パーティション分割候補からパーティション数≦Nを満たすIOコスト値が最小となるパーティション分割を出力データ記憶部3に出力する。入力データに対するパーティション分割の結果は図13のように出力される。次に、上記のステップ130のパーティション分割の初期生成処理について説明する。図17は、本発明の一実施の形態における図11のステップ130のパーティション分割の初期生成処理のフローチャートである。ステップ200パーティション分割処理部2は、境界線候補記憶部4の境界線候補を初期化する。ステップ210ヒストグラム記憶部8からヒストグラムを読み出して全行数を取得する。ステップ220パーティション分割候補記憶部5のパーティション数初期値から1行読み出す。ステップ230ステップ210で取得した全行数とステップ220で読み出したパーティション数初期値より全行数÷パーティション数初期値の計算を行う。ステップ240キー項目に対してキー値の小さい方から順に境界線を決定し、ステップ230で計算した行数に各パーティションを等分割する。ステップ250ステップ240で等分割されたパーティションを境界線候補記憶部4に保存する。パーティションの分割を行うにあたり、図3に示す入力データを入力データ記憶部1から読み込み、当該入力データを元に最も細分化されたパーティション分割を生成し、分割キー値の集合を境界線候補として境界線候補記憶部4に格納する。具体的には、図9に示すように、入力データの範囲参照検索範囲の端点開始値、終了値を全て使用し、これを境界線としたパーティション分割を得る。これにより、図10aに示すような分割キー境界候補が得られる。同図の例において、分割キー1の境界線数を3、分割キー2の境界線数を3とすると、パーティション数=3-1×3-1=4となる。ステップ260読み出していないパーティション数初期値がある場合には、ステップ220に戻る。全て読み出している場合は処理を終了する。次に、図11のステップ160の境界線数を1減少させた場合のパーティション分割の取得処理について説明する。図18は、本発明の一実施の形態における図11のステップ160の詳細フローチャートである。ステップ300境界線数Mが入力されると、パーティション分割処理部2は、一つ削除できる境界線がある場合に、パーティション分割候補記憶部5に一つの境界線を削除した後の境界線数Mと記述し、パーティション分割候補記憶部5の境界線数Mのパーティション分割候補を初期化する。ステップ310パーティション分割候補記憶部5の境界線数M1のパーティション分割候補からIOコストが最小となるパーティション分割を一つ選択する。ステップ315選択したパーティション分割のパーティション数が、パーティション数記憶部6から取得したパーティション数N以下選択したパーティション分割のパーティション数≦Nであればステップ395に移行する。そうでない場合はステップ320に移行する。ステップ320パーティション分割候補記憶部5のパーティション分割候補の中で一つ境界線ただし、定義域の両端は対象外を選択する。ステップ330メモリ図示せずのIOコスト値を0に初期化する。ステップ340入力データ記憶部1から入力データを1行読み出して、範囲参照検索区間を取り出す。ステップ350入力データの範囲参照検索に対するIOコストを計算し、メモリ図示せずのIOコスト値に加算する。詳細は図19で後述する。ステップ370入力データ記憶部1から読み出していないデータがある場合はステップ340に移行する。ステップ380パーティション分割候補記憶部5にパーティション分割候補を追加保存する。ステップ390パーティション分割候補記憶部5に選択していない境界線が存在する場合は、ステップ320に移行する。ステップ395パーティション分割候補記憶部5にIOコストの最小の選択していない境界線数M1のパーティション分割候補が存在する場合には、ステップ310に移行する。次に、上記の図18のステップ350の入力データの範囲参照検索に対するIOコストを計算処理について説明する。図19は、本発明の一実施の形態における図18のステップ350の詳細フローチャートである。ステップ400パーティション分割処理部2は、図1に示すように、並列数の各スレッドに対し、各パーティションをラウンドロビンで対応付ける。図1に示す並列アクセス数が設定値例えば、4、CPUコア数とし、スレッドのアクセスをパーティションへの対応付けをラウンドロビンにより決める場合は、maxとする。ただし、Ximin×パーティションiの対象行数、パーティションi全行数である。ステップ410以下のIOコスト計算を行い、IOコスト値に加算する。IOコスト値の計算にあたっては、図14に示すように、入力データの全ての範囲参照検索及び全てのパーティションにわたるIOコスト値からの寄与の総和とする。ここで、個々の範囲参照検索に対する個別のIOコスト値は、図15に示すように、行数の見積もり値及び行当りのインデックススキャンのIOコストとシーケンシャルスキャンのIOコストの比運用者によるシステム設定値を元に計算した、以下のうちでいずれか小さい値を元に算出する。行当りのインデックススキャンのIOコスト×対象行数;行当りのシーケンシャルスキャンのIOコスト×パーティション内の行数;ただし、行数については、ヒストグラム記憶部8の図4に示すヒストグラムを使用した見積もり値を使用する。図16の例では、分割キー1の値が15と40の間の行数を見積もるには、線形補間を用いて、見積もり行数=FLOOR25×10×ただし、FLOORは小数点以下切り下げを表す。こうしてパーティション分割をパーティション数が設定値以下に達するか、または、削除できる境界線がなくなるまで生成し定義域の両端は削除負荷、IOコスト値を評価した後、パーティション分割候補のうち、パーティション数が設定値以下の条件を満たすIOコスト値が最小となるパーティション分割の結果を出力する。上記のフローチャートに示したように、パーティション分割を行うにあたり、まず、パーティションの初期生成として検索対象データの行数が均等なパーティション分割初期生成のパーティション分割数は設定値とするを生成する。この例を図12に示す。同図に示すパーティション分割初期生成の例では、分割キーの定義域を分割数がパーティション数初期値となるように行数で等分割したパーティション分割を初期候補とする。次に、一つの境界線を削除する処理を実行し、全ての可能なパーティション分割を生成し、IOコストを計算する。この処理では、各候補にわたって、IOコスト値を評価する。IOコスト値の計算にあたっては、図14に示すように、入力データの全ての範囲参照検索及び全てのパーティションにわたるIOコスト値からの寄与の総和とする。こうしてパーティション分割をパーティション数が設定値以下に達するか、または、削除できる境界線がなくなるまで生成し定義域の両端は削除不可、IOコスト値を評価した後、パーティション分割候補のうち、パーティション数が設定値以下の条件を満たすIOコスト値が最小となるパーティション分割の結果を出力する。上述した処理の結果は、例えば、パーティション分割のテーブルの定義のために用いることができる。図20に、出力結果をテーブル定義として利用する例を示す。同図は、パーティション数3の場合を示している。テーブルpartitionをテーブルpartition0、partition1、partition2にパーティション分割する分割キーkeyの値の定義域0<key≦10に対して境界線をkey25とした例である。上記のように、入力データのワークロードに対して、並列アクセスにおけるアクセスコストが各スレッドへより均等に分配されるようにラウンドロビン方式でパーティションを割り当て、割り当てられたパーティションの大きさから各スレッドのIOコストを算出し、各スレッドのIOコストの最大値を系全体のコストとし、当該系全体のコストが最小となるように、パーティション分割候補のうち、パーティション数が所定の数以下の条件を満たすIOコストが最小となるパーティション分割を行う。これは、全体の応答時間はアクセスコストが最大のスレッドに対する応答時間のみにより決まるため、スレッドへのアクセスコストの分配が不均等なパーティション分割は応答性能向上を目的とした適切なパーティション分割とはいえないからである。なお、上記の実施の形態におけるパーティション分割処理部2の処理をプログラムとして構築し、パーティション分割装置として利用されるコンピュータにインストールして実行させる、または、ネットワークを介して流通させることが可能である。本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更応用が可能である。