(57)【要約】【課題】応答時間を短縮するデータベースチューニング装置等を提供する。【解決手段】データベースチューニング装置１０１は、アプリケーションが所定の命令を実行する回数と、該所定の命令に係る応答時間と、該所定の命令がデータベースサーバ１０３から読み取る行数とを含む測定値を、複数の時刻において測定した履歴情報と、特定の時刻において新たに測定する前記測定値とに基づいて、所定の評価方法に従い、新たに該所定の命令が読み取る行数を、見積もり行数として算出する算出部１０２を備える。【選択図】      図１
2014174869.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションが所定の命令を実行する回数と、該所定の命令に係る応答時間と、該所定の命令がデータベースサーバから読み取る行数とを含む測定値を、複数の時刻において測定した履歴情報と、特定の時刻において新たに測定する前記測定値とに基づいて、所定の評価方法に従い、新たに該所定の命令が読み取る行数を、見積もり行数として算出する算出部
を備えるデータベースチューニング装置。
【請求項２】
所定の時間帯算出方法に基づき、前記特定の時刻に関連付けされた時間帯を、特定の時間帯として算出するとともに、前記複数の時刻について、それぞれ時刻に関連付けされた時間帯を算出する時刻部をさらに備え、
前記算出部は、複数の前記時間帯のうち、前記特定の時間帯と一致する、前記時間帯において測定した前記履歴情報と、前記新たに測定する測定値とに基づいて、前記所定の評価方法に従い、前記見積もり行数を算出する
請求項１に記載のデータベースチューニング装置。
【請求項３】
所定の時間帯算出方法は、２４時間を時刻が０時３０分から１時間ごとに２４分割した区間を前記時間帯とする
請求項２に記載のデータベースチューニング装置。
【請求項４】
前記回数と、前記応答時間と、前記行数と、前記算出部が算出した前記見積もり行数が前記特定の時刻において測定した測定値における前記行数より大きいか否かを表す増減情報とが関連付けされた組を、第２履歴情報として、記憶可能な履歴情報記憶部を更に備え、
前記算出部は、前記履歴情報記憶部から前記第２履歴情報を読み取り、読み取った前記第２履歴情報と前記新たに測定する測定値とに基づいて、前記所定の評価方法に従い、前記見積もり行数を算出し、前記特定の時刻において測定した測定値に含まれる前記行数と算出した前記見積もり行数とを比較し、比較した結果に応じて前記増減情報を作成し、前記応答時間と、前記見積もり行数と、前記回数と、作成した前記増減情報とを関連付けて前記履歴情報記憶部に保存する
請求項１乃至請求項３のいずれかに記載のデータベースチューニング装置。
【請求項５】
前記履歴情報記憶部は、さらに、算出した前記時間帯を関連付け、前記組として記憶可能であり、
前記算出部は、前記履歴情報記憶部において、前記特定の時間帯と一致する前記時間帯に関連付けされた前記履歴情報を読み取る
請求項４に記載のデータベースチューニング装置。
【請求項６】
前記所定の算出方法は
（ａ）前記第１測定値における前記応答時間が前記第２測定値における前記応答時間より小さい、か否かと、
（ｂ）前記第１測定値における前記行数が前記第２測定値における前記行数より大きい、か否かと、
（ｃ）前記第１測定値における前記回数が前記第２測定値における前記回数未満である、か否かと、
（ｄ）前記第１測定値における単位時間（ただし、前記単位時間＝前記応答時間÷前記行数である）が前記第２測定値における前記単位時間より大きい、か否かと、
を判定し、
（ａ）と（ｂ）とが成立する場合、（ａ）と（ｃ）とが成立せず（ｂ）が成立する場合、（ａ）と（ｄ）が成立し（ｂ）が成立しない場合、及び、（ａ）と（ｂ）と（ｃ）が成立せず（ｄ）が成立する場合に、所定の第１算出方法に従い、第１候補値を算出し、前記履歴情報記憶部において前記増減情報が減少であることと関連付けされた前記組のうち、最後に登録された前記組を読み出し、前記第１候補値と前記組における前記行数とのうち、小さな値を前記見積もり行数とし、
（ａ）が成立せず（ｃ）が成立する場合、（ａ）が成立し（ｂ）と（ｄ）とが成立しない場合、及び、（ａ）と（ｂ）と（ｃ）と（ｄ）とが成立しない場合に、所定の第２算出方法に従い、第２候補値を算出し、
（ｅ）前記履歴情報記憶部における前記行数と前記第２候補値とが所定の範囲にある前記組が存在するか否かを判定し、
（ｅ）が成立しない場合に、前記第２候補値を前記見積もり行数とし、
（ｅ）が成立する場合に、（ｅ）を成立させる前記組から前記応答時間と前記行数とを読み取り、（ｆ）前記履歴情報記憶部において、（ｅ）を成立させる前記組における前記単位時間よりも大きな前記単位時間を有する特定の組が存在するか否かを判定し、
（ｆ）が成立しない場合に、（ｅ）を成立させる前記組における前記行数を前記見積もり行とし、
（ｆ）が成立する場合に、前記特定の組における前記行数と前記第２候補値のうち、小さな値を前記見積もり行数とする
方法である請求項１乃至請求項５のいずれかに記載のデータベースチューニング装置。
【請求項７】
第３時刻に測定するネットワーク速度。及び、前記特定の時刻における前記回数と、前記特定の時刻における前記応答時間と、前記特定の時刻における前記行数と、前記特定の時刻における前記増減情報と、前記特定の時刻におけるネットワーク速度とが関連付けされた第３測定値を複数含む第３履歴情報を受け取り、前記第３履歴情報において、前記第３時刻に最も近い前記第３測定値を探し、
（ｇ）前記第３時刻における前記ネットワーク速度が前記第３測定値における前記ネットワーク速度より速い、か否かを判定し、
（ｇ）が成立しない場合に、所定の第３算出方法に従い、前記第３測定値における前記行数から新たな候補値を算出するとともに、前記第３履歴情報において、前記増減情報が減少を表す測定値のうち、前記第３時刻に最も近い時刻に関連付けされた第４測定値を探し、
（ｈ）第４測定値がある、か否かを判定し、
（ｈ）が成立する場合に、前記第４測定値から前記行数を読み取り、（ｋ）前記新たな候補値が前記第４測定値における前記行数より小さい、か否かを判定し、
（ｋ）が成立しない場合に、所定の第４算出方法に従い、前記新たな候補値と前記第４測定値における前記行数とに基づいて、第２見積もり行数を算出し、
（ｇ）が成立しない場合に、前記第３測定値における前記行数を、前記第２見積もり行数として算出し、
（ｈ）が成立しない場合、または、（ｋ）が成立する場合に、前記新たな候補値を、前記第２見積もり行数として算出する変換部をさらに備える
請求項４乃至請求項６のいずれかに記載のデータベースチューニング装置。
【請求項８】
情報処理装置において、アプリケーションが所定の命令を実行する回数と、該所定の命令に係る応答時間と、該所定の命令がデータベースサーバから読み取る行数とを含む測定値を、複数の時刻において測定した履歴情報と、特定の時刻において新たに測定する前記測定値とに基づいて、所定の評価方法に従い、新たに該所定の命令が読み取る行数を、見積もり行数として算出するデータベースチューニング方法。
【請求項９】
アプリケーションが所定の命令を実行する回数と、該所定の命令に係る応答時間と、該所定の命令がデータベースサーバから読み取る行数とを含む測定値を、複数の時刻において測定した履歴情報と、特定の時刻において新たに測定する前記測定値とに基づいて、所定の評価方法に従い、新たに該所定の命令が読み取る行数を、見積もり行数として算出する算出機能を
コンピュータに実現させるデータベースチューニングプログラム。
【請求項１０】
所定の時間帯算出方法に基づき、前記特定の時刻に関連付けされた時間帯を、特定の時間帯として算出するとともに、前記複数の時刻について、それぞれ時刻に関連付けされた時間帯を算出する時刻機能をさらに含み、
前記算出機能において、複数の前記時間帯のうち、前記特定の時間帯と一致する、前記時間帯において測定した前記履歴情報と、前記新たに測定する測定値とに基づいて、前記所定の評価方法に従い、前記見積もり行数を算出する
請求項９に記載のデータベースチューニングプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベースの性能を向上させるデータベースチューニング装置等に関する。
【背景技術】
【０００２】
図１４に示すように、アプリケーションプログラム（以下、単に、「アプリケーション」と言う。）がデータベースに問い合わせを行ってから検索結果を得るまでの応答時間（以下、「レスポンス時間」とも言う。）を悪化させる要因、すなわち、アプリケーション遅延要因として、例えば、アプリケーションがデータベースにアクセスする際に経由する通信ネットワークで発生する遅延や、データベースを処理する情報処理装置が有する低い処理性能等を挙げることができる。図１４は、アプリケーションが遅延する要因と、対処方法等とを関連付けする表の一例を表す図である。
【０００３】
例えば、アプリケーション遅延の要因がネットワークにある場合、対策は、高速なネットワークを導入することである。一方、アプリケーション遅延の要因がハードウェアの性能にある場合、対策は、処理性能が高いハードウェアを導入することである。
【０００４】
一方、アプリケーション遅延の要因が数多く存在するため、該要因を特定するためには、多大な時間を要する。特許文献１は、アプリケーション遅延の要因を特定する支援を行う方法を開示する。
【０００５】
アプリケーション遅延を改善する方法の一つとして、データベースを検索するＳＱＬ言語における１回のフェッチ（「ＦＥＴＣＨ」）にて、複数の行を検索、更新及び挿入する方法が知られている。この方法は、特に、ネットワークを介してデータベースにアクセスする場合に有用である。その理由は、フェッチ文を実施する回数を低減することにより、データを授受する回数を低減することができるためである。
【０００６】
特許文献１乃至特許文献３は、データベースに係る遅延を改善する技術を開示する。
【０００７】
特許文献１が開示するチューニング方法は、データベースサーバやアプリケーションから性能指標に関する情報を取得し、該情報に基づき最適なチューニングツールを選び出す。
【０００８】
特許文献２が開示するデータベース管理システムにおいて、アプリケーションは、あらかじめ、処理する対象であるデータを監視する依頼をデータベースサーバに行う。該データベースサーバは、該依頼に応じて該データを監視し、該データが変更された場合に、該アプリケーションに、該データが変更されたことを通知する。
【０００９】
特許文献３は、データベースサーバにおける最適化方式を開示する。該最適化方式においては、アプリケーションの実行性能を向上させるために、データベースサーバに関する環境設定やパラメータ等を調整する。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開平９−１６６１７号公報
【特許文献２】特開平５−２３３４０５号公報
【特許文献３】特開平１０−２１１２４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
例えば、ＳＱＬ言語におけるフェッチ文は、データベースに対する問い合わせ結果から、行データを取り出す命令である。アプリケーション遅延を改善する１つの方法として、１回のフェッチ文において、複数行のデータを一度に取り出す方法がある。したがって、アプリケーション遅延を改善するためには、フェッチ文により一度に取り出すデータの適切な行数をあらかじめ定義する必要がある。
【００１２】
しかしながら、適切な行数は、例えば、ハードウェア性能、ネットワーク負荷等の要因に応じて決まる。したがって、適切な行数を見つけ出すために、データベース設計者は、あらかじめ、適切な行数を見積もり、該行数において効果を評価する試行錯誤を繰り返さなければならないという問題点がある。
【００１３】
さらに、データベース設計者が、あるネットワーク環境においてアプリケーションを高速化する適切な行数を見出せたとしても、該適切な行数が、異なるネットワーク環境においてアプリケーションを高速化するとは限らないという問題点もある。
【００１４】
特許文献１が開示するチューニング方法は、応答時間に大きく影響する行数を計測しない。したがって、特許文献１におけるチューニング方法を用いたとしても、適切な行数を探索することは不可能である。
【００１５】
特許文献２が開示するデータベース管理システムは、上述した課題に適用することはできない。
【００１６】
特許文献３が開示する最適化方式は、応答時間に大きく影響する「適切な行数」を探索することができない。
【００１７】
そこで、本発明の主たる目的は、応答時間を短縮するデータベースチューニング装置等を提供することである。
【課題を解決するための手段】
【００１８】
前述の目的を達成するために、本発明に係るデータベースチューニング装置は、以下の構成を備えることを特徴とする。
【００１９】
即ち、本発明に係るデータベースチューニング装置は、
アプリケーションが所定の命令を実行する回数と、該所定の命令に係る応答時間と、該所定の命令がデータベースサーバから読み取る行数とを含む測定値を、複数の時刻において測定した履歴情報と、特定の時刻において新たに測定する前記測定値とに基づいて、所定の評価方法に従い、新たに該所定の命令が読み取る行数を、見積もり行数として算出する算出部
を備えることを特徴とする。
【００２０】
また、本発明の他の見地として、本発明に係るデータベースチューニング方法は、
情報処理装置において、アプリケーションが所定の命令を実行する回数と、該所定の命令に係る応答時間と、該所定の命令がデータベースサーバから読み取る行数とを含む測定値を、複数の時刻において測定した履歴情報と、特定の時刻において新たに測定する前記測定値とに基づいて、所定の評価方法に従い、新たに該所定の命令が読み取る行数を、見積もり行数として算出する
ことを特徴とする。
【００２１】
さらに、同目的は、係るデータベースチューニングプログラム、および、そのプログラムを記録するコンピュータ読み取り可能な記録媒体によっても実現される。
【発明の効果】
【００２２】
本発明に係るデータベースチューニング装置等によれば、応答時間を短縮することができる。
【図面の簡単な説明】
【００２３】
【図１】第１の実施形態に係るデータベースチューニング装置が有する構成を示すブロック図である。
【図２】第１の実施形態に係るデータベースチューニング装置における処理の流れを示すフローチャートである。
【図３】第２の実施形態に係るデータベースチューニング装置が有する構成を示すブロック図である。
【図４】第２の実施形態に係るデータベースチューニング装置における処理の流れを示すフローチャートである。
【図５】時刻と時間帯とを関連付ける情報を概念的に表す図である。
【図６】第３の実施形態に係るデータベースチューニング装置が有する構成を示すブロック図である。
【図７】第３の実施形態に係るデータベースチューニング装置における処理の流れを示すフローチャートである。
【図８Ａ】第４の実施形態に係る所定の評価方法における処理の流れを示すフローチャートである。
【図８Ｂ】第４の実施形態に係る所定の評価方法における処理の流れを示すフローチャートである。
【図８Ｃ】第４の実施形態に係る所定の評価方法における処理の流れを示すフローチャートである。
【図９】本発明の第５の実施形態に係るデータベースチューニング装置が有する構成を示すブロック図である。
【図１０】本発明の第５の実施形態に係るデータベースチューニング装置における処理の流れを示すフローチャートである。
【図１１】第２ネットワーク速度が第１ネットワーク速度よりも速い場合における、新たな見積もり行数の推移を表す図である。
【図１２】第２ネットワーク速度が第１ネットワーク速度よりも遅い場合における、新たな見積もり行数の推移を表す図である。
【図１３】第１の実施形態乃至本発明の第５の実施形態に係るデータベースチューニング装置を実現可能な計算処理装置のハードウェア構成を概略的に示す図である。
【図１４】アプリケーションが遅延する要因と、対処方法等とを関連付けする表の一例を表す図である。
【発明を実施するための形態】
【００２４】
次に、発明を実施するための最良の形態について図面を参照して詳細に説明する。
【００２５】
＜第１の実施形態＞
本発明の第１の実施形態に係るデータベースチューニング装置１０１が有する構成と、データベースチューニング装置１０１が行う処理とについて、図１と図２とを参照しながら詳細に説明する。図１は、第１の実施形態に係るデータベースチューニング装置１０１が有する構成を示すブロック図である。図２は、第１の実施形態に係るデータベースチューニング装置１０１における処理の流れを示すフローチャートである。
【００２６】
第１の実施形態に係るデータベースチューニング装置１０１は、算出部１０２を有する。データベースチューニング装置１０１は、通信ネットワーク１０４を介して、性能をチューニングする対象となるデータベースサーバ１０３と、データベースサーバ１０３にアクセスするクライアント１０５とに接続する。
【００２７】
外部装置（不図示）は、複数の時刻において、それぞれ、アプリケーションが所定の命令を実行する回数と、該所定の命令に係る応答時間と、該所定の命令がデータベースサーバ１０３から読み取る行数と含む測定値を測定する。さらに、外部装置（不図示）は、特定の時刻において、上記の測定値を測定する。
【００２８】
上述した例においては、外部装置が測定値を測定するとしたが、データベースチューニング装置１０１が、上述したような測定値を測定しても良い。
【００２９】
まず、算出部１０２は、複数の時刻において測定された測定値を、履歴情報として受け取る（ステップＳ２０１）とともに、特定の時刻において測定された測定値を受け取る（ステップＳ２０２）。算出部１０２は、ステップＳ２０１よりも先にステップＳ２０２を処理しても良いし、並行して履歴情報と測定値とを受け取っても良い。
【００３０】
所定の命令の例として、ＳＱＬ言語の場合、上記のフェッチ文がある。
【００３１】
次に、算出部１０２は、受け取った履歴情報と測定値とに基づいて、所定の評価方法に従い、該所定の命令がデータベースサーバ１０３から読み取る行数を、見積もり行数として算出する（ステップＳ２０３）。
【００３２】
さらに、算出部１０２は、該見積もり行数を、所定の命令が読み取る行数として設定する。その結果、アプリケーションは、見積もり行数に基づいて、所定の命令を実施する。外部装置（不図示）は、さらに、上述した測定値を測定する。上述したような一連の処理が繰り返し実行される。
【００３３】
応答時間を短縮する１つの方法として、例えば、「応答時間÷行数」の値、すなわち、１行あたりの平均応答時間を算出し、該平均応答時間を短縮する行数を探索する方法がある。
【００３４】
例えば、平均応答時間がある行数において極小値を取る場合を例にして、所定の評価方法を説明する。
【００３５】
平均応答時間が、特定の行数において極小値を取る場合、特定の行数において、平均応答時間の増減は、より０に近い値になるとともに、特定の行数の近くにおいて単調増加する。算出部１０２は、例えば、受信した履歴情報を時刻順に並び替え、並び替えた履歴情報において隣り合う測定値における行数の差を算出する。所定の評価方法においては、例えば、算出した行数の差は、平均応答時間の増減を表すとする。
【００３６】
所定の評価方法においては、平均応答時間の増減が正の値であり、さらに、最も０に近い測定値における行数と、平均応答時間の増減が負の値であり、さらに、最も０に近い測定値における行数とを読み取る。所定の評価方法は、上述した２つの行数の平均値を見積もり行数として算出する。外部装置、アプリケーション、及び、本実施形態に係るデータベースチューニング装置１０１が上述した一連の処理を繰り返すことにより、所定の評価方法に従い算出される値は、平均応答時間を極小にする値に近づく。
【００３７】
所定の評価方法は、平均応答時間と行数との関係に応じて、既に様々な算出方法が既に知られているため、ここでは詳細な説明を省略する。所定の評価方法は上述した例に限定されない。
【００３８】
特許文献１または特許文献３が開示する方法においては、データベースサーバに係る応答時間に影響を与える行数を測定しない。
【００３９】
一方、本実施形態に係るデータベースチューニング装置１０１は、所定の評価方法に従い、行数に関する情報を有する履歴情報と測定値とに基づいて行数を算出する。本実施形態に係るデータベースチューニング装置１０１、外部装置、及び、アプリケーションが上述した一連の処理を繰り返すことにより、算出する行数は、平均応答時間を極小にする値に近づく。
【００４０】
即ち、第１の実施形態に係るデータベースチューニング装置によれば、応答時間を短縮することができる。
【００４１】
尚、上述した例において、データベースチューニング装置１０１は、クライアント１０５と別の形態を有するとしたが、クライアント１０５が、データベースチューニング装置１０１を有していても良い。すなわち、本実施形態は、上述した例に限定されない。以下の本発明の各実施形態についても同様である。
【００４２】
＜第２の実施形態＞
次に、上述した第１の実施形態を基本とする第２の実施形態について説明する。
【００４３】
以下の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第１の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。
【００４４】
図３と図４とを参照しながら、第２の実施形態に係るデータベースチューニング装置３０１が有する構成と、データベースチューニング装置３０１が行う処理とについて説明する。図３は、第２の実施形態に係るデータベースチューニング装置３０１が有する構成を示すブロック図である。図４は、第２の実施形態に係るデータベースチューニング装置３０１における処理の流れを示すフローチャートである。
【００４５】
データベースチューニング装置３０１は、時刻部３０２と、算出部１０２とを有する。
【００４６】
まず、データベースチューニング装置３０１は、複数の時刻において測定された測定値を、履歴情報として受け取るとともに、特定の時刻において測定された測定値を受け取る。
【００４７】
次に、時刻部３０２は、所定の時間帯算出方法に従い、特定の時刻に関連付けされた時間帯を、特定の時間帯として算出するとともに（ステップＳ４０１）、履歴情報における複数の時刻に関連付けされた時間帯を算出する（ステップＳ４０２）。時刻部３０２は、ステップＳ４０１よりも先にステップＳ４０２を処理しても良いし、並行して処理しても良い。
【００４８】
所定の時間帯算出方法として、例えば、図５のように、１時間ごとに時間帯を定義し、時刻が含まれる時間帯を算出する方法がある。図５は、時刻と時間帯とを関連付ける情報を概念的に表す図である。
【００４９】
例えば、図５において、時刻が、「００：３０：００乃至０１：２９：５９」の場合には、時間帯「０１：００：００」に関連付けされる。さらに、時刻が、「０１：３０：００乃至０２：２９：５９」の場合には、時間帯「０２：００：００」に関連付けされる。すなわち、この場合、時刻「００：４０：００」は、時間帯「０１：００：００」に関連付けされる。
【００５０】
所定の時間帯算出方法においては、必ずしも１時間ごとに時間帯を定義する必要はなく、また、一定時間で時間帯を定義する必要もない。すなわち、所定の時間帯算出方法は、上述した例に限定されない。
【００５１】
次に、算出部１０２は、履歴情報のうち、特定の時間帯と一致する時間帯に測定された測定値を抽出する（ステップＳ４０３）。さらに、算出部は、抽出した測定値と、特定の時刻において測定された測定値とに基づき、所定の評価方法に従い、行数を算出する（ステップＳ４０４）。
【００５２】
第２の実施形態は、第１の実施形態と同様の構成を有するため、第２の実施形態は、応答時間を短縮することができる。
【００５３】
例えば、データベースサーバ１０３へのアクセス頻度は、時間帯に応じて変化する。応答時間は、該アクセス頻度に応じて変化する。第２の実施形態においては、時刻部３０２が時間帯を算出し、算出部１０２が算出した時間帯ごとに行数を評価する。本実施形態によれば、時間帯に応じて評価できるため、上述した効果に加え、さらに、より早期に最適な行数を算出することができる。
【００５４】
＜第３の実施形態＞
次に、上述した第１の実施形態を基本とする第３の実施形態について説明する。
【００５５】
以下の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第１の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。
【００５６】
図６と図７とを参照しながら、第３の実施形態に係るデータベースチューニング装置６０１が有する構成と、データベースチューニング装置６０１が行う処理とについて説明する。図６は、第３の実施形態に係るデータベースチューニング装置６０１が有する構成を示すブロック図である。図７は、第３の実施形態に係るデータベースチューニング装置６０１における処理の流れを示すフローチャートである。
【００５７】
データベースチューニング装置６０１は、算出部６０３と、履歴情報記憶部６０２とを有する。
【００５８】
履歴情報記憶部６０２は、特定の時刻において測定した測定値と、算出部６０３が算出した行数が、特定の時刻において測定した測定値における行数よりも大きいか、あるいは、小さいかを表す増減情報とを関連付けて、第２履歴情報として記憶することができる。
【００５９】
まず、算出部６０３は、履歴情報記憶部６０２から第２履歴情報を読み取る（ステップＳ７０１）。次に、算出部６０３は、特定の時刻において測定した測定値と、第２履歴情報における測定値とに基づき、所定の評価方法に従い、見積もり行数を算出する（ステップＳ７０２）。次に、算出部６０３は、算出した見積もり行数と、特定の時刻において測定した測定値における行数とを比較することにより、増減情報を作成する（ステップＳ７０３）。
【００６０】
すなわち、算出部６０３は、特定の時刻において測定した測定値における行数が算出した見積もり行数よりも大きい場合、「行数を減らす」という増減情報を作成する。一方、算出部６０３は、特定の時刻において測定した測定値における行数が算出した見積もり行数よりも小さい場合、「行数を増やす」という増減情報を作成する。
【００６１】
次に、算出部６０３は、特定の時刻において測定した測定値と、作成した増減情報とを関連付けして、履歴情報記憶部６０２に保存する（ステップＳ７０４）。
【００６２】
第３の実施形態は、第１の実施形態と同様の構成を有するため、応答時間を短縮することができる。
【００６３】
さらに、本実施形態は、作成した増減情報を記憶可能な履歴情報記憶部６０２を有する。そのため、本実施形態によれば、所定の評価方法に従い見積もり行数を算出するたびに、増減情報を作成する必要がなくなる。その結果、本実施形態によれば、上述した効果に加え、さらに、見積もり行数を算出する時間を短縮することができる。
【００６４】
＜第４の実施形態＞
次に、上述した第３の実施形態を基本とする第４の実施形態について説明する。
【００６５】
以下の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第３の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。
【００６６】
図８Ａ乃至図８Ｃを参照しながら、所定の評価方法における処理について説明する。図８Ａ乃至図８Ｃは、第４の実施形態に係る所定の評価方法における処理の流れを示すフローチャートである。
【００６７】
まず、外部装置（不図示）は、特定の時刻において、アプリケーションが所定の命令を実行する回数と、該所定の命令に係る応答時間と、該所定の命令がデータベースサーバ１０３から読み取る行数とを含む測定値を測定する（ステップＳ８０１）。以降、測定した測定値を第１測定値と表す。
【００６８】
次に、算出部１０２は、アプリケーションが所定の命令を実行する回数と、該所定の命令に係る応答時間と、該所定の命令がデータベースサーバ１０３から読み取る行数とを含む測定値を、複数の時刻において測定した第２履歴情報を受信する。
【００６９】
算出部１０２は、受信した第２履歴情報が空であるか否かを判定する（ステップＳ８０２）。算出部１０２は、該第２履歴情報が空であると判定する場合（ステップＳ８０２にてＹＥＳと判定）、特定の時刻において測定した測定値における行数を、見積もり行数として算出する（ステップＳ８０７）。
【００７０】
次に、算出部１０２は、算出した見積もり行数と、第１候補値における行数とに基づいて、増減情報を算出する。算出部１０２は、特定の時刻において測定した測定値と、算出した増減情報とを関連付けして、第２履歴情報とする（ステップＳ８１１）。
【００７１】
算出部１０２は、該第２履歴情報が空でないと判定する場合（ステップＳ８０２にてＮＯと判定）、第２履歴情報において、測定した時刻が特定の時刻に最も近い測定値を読み取る（ステップＳ８０３）。以降、第２履歴情報において、測定した時刻が特定の時刻に最も近い測定値を第２測定値と表す。
【００７２】
次に、算出部１０２は、第１測定値における応答時間と、第２測定値における応答時間とを比較する（ステップＳ８０４）。算出部１０２は、第１測定値における応答時間が第２測定値における応答時間よりも短いと判定する場合（ステップＳ８０４にてＹＥＳと判定）、第１測定値における行数と、第２測定値における行数とを比較する（ステップＳ８０５）。
【００７３】
算出部１０２は、第１測定値における行数が第２測定値における行数よりも多いと判定する場合（ステップＳ８０５にてＹＥＳと判定）、所定の第１算出方法に従い、第１測定値における行数に基づいて、第１候補値を算出する（ステップＳ８０６）。
【００７４】
例えば、所定の第１算出方法は、第１定数（ただし、第１定数＞１）を乗算することにより算出する方法である。例えば、第１定数は、１．５である。しかしながら、所定の第１算出方法は、入力される行数よりも、算出する値が大きければよい。すなわち、所定の第１算出方法は、上述した例に限定されない。
【００７５】
算出部１０２は、第１測定値における応答時間が第２測定値における応答時間よりも長いと判定する場合（ステップＳ８０４にてＮＯと判定）、第１測定値における回数と、第２測定値における回数とを比較する（ステップＳ８０８）。
【００７６】
算出部１０２は、第１測定値における回数が第２測定値における回数よりも小さいと判定する場合（ステップＳ８０８にてＹＥＳと判定）、所定の第２算出方法に従い、第１測定値における行数に基づいて、第２候補値を算出する（ステップＳ８１０）。算出部１０２は、第１測定値における回数が第２測定値における回数よりも大きいと判定する場合（ステップＳ８０８にてＮＯと判定）、ステップＳ８０５における処理を実施する。
【００７７】
例えば、所定の第２算出方法は、第２定数（ただし、０＜第２定数＜１）を乗算することにより算出する方法である。例えば、第２定数は、０．８である。しかしながら、所定の第２算出方法は、入力される行数よりも、算出する値が小さければよい。すなわち、所定の第２算出方法は、上述した例に限定されない。
【００７８】
また、算出部１０２は、第１測定値における行数が第２測定値における行数よりも小さいと判定する場合（ステップＳ８０５にてＮＯと判定）、第１及び２測定値において「応答時間÷行数」をそれぞれ算出する。
【００７９】
算出部１０２は、第１測定値における「応答時間÷行数」が、第２測定値における「応答時間÷行数」よりも大きい場合（ステップＳ８０９にてＹＥＳと判定）、ステップＳ８０６における処理を実施する。算出部１０２は、第１測定値における「応答時間÷行数」が、第２測定値における「応答時間÷行数」よりも小さい場合（ステップＳ８０９にてＹＥＳと判定）、ステップＳ８１０における処理を実施する。
【００８０】
算出部１０２は、第１候補値を算出した（ステップＳ８０６）後、第２履歴情報において、増減情報が減量である測定値において、測定した時刻が特定の時刻に最も近い第３測定値を読み取る（図８Ｂ、ステップＳ８１２）。算出部１０２は、第２履歴情報において第３測定値がないと判定する場合（ステップＳ８１２にてＮＯと判定）、第１候補値を見積もり行数として算出する（ステップＳ８１５）。
【００８１】
算出部１０２は、第２履歴情報において第３測定値があると判定する場合（ステップＳ８１２にてＹＥＳと判定）、第３測定値から行数を読み取る（ステップＳ８１３）。
【００８２】
次に、算出部１０２は、第１候補値と第３測定値における行数とを比較する（ステップＳ８１４）。算出部１０２は、第１候補値が第３測定値における行数よりも小さいと判定する場合（ステップＳ８１４にてＹＥＳと判定）、第１候補値を見積もり行数として算出する（ステップＳ８１５）。算出部１０２は、第１候補値が第３測定値における行数よりも大きいと判定する場合（ステップＳ８１４にてＮＯと判定）、第２測定値における行数を見積もり行数として算出する（ステップＳ８１６）。
【００８３】
算出部１０２は、第２候補値を算出した（ステップＳ８１０）後、履歴情報において、第２候補値に応じて算出される所定の範囲を満たす第４測定値が存在するか否かを判定する（図８Ｃ、ステップＳ８１７）。所定の範囲として、例えば、Ｐ＜第４測定値における行数＜Ｑ（ただし、Ｐ＝０．９５×第２候補値、Ｑ＝１．０５×第２候補値）がある。所定の範囲は、第２候補値の近くであればよく、上述した例に限定されない。
【００８４】
算出部１０２は、第４測定値がないと判定する（ステップＳ８１７にてＮＯと判定）場合、第２候補値を見積もり行数として算出する（ステップＳ８２４）。算出部１０２は、第４測定値があると判定する（ステップＳ８１７にてＹＥＳと判定）場合、第４測定値における応答時間と行数とを読み取る（ステップＳ８１８）。
【００８５】
次に、算出部１０２は、「第４測定値における応答時間÷第４測定値における行数」を算出する。さらに、算出部１０２は、履歴情報において、「応答時間÷行数」の値が算出した値より大きく、さらに、特定の時刻に最も近い時刻に測定された第５測定値が存在するか否かを判定する（ステップＳ８１９）。
【００８６】
算出部１０２は、第５測定値がないと判定する場合（ステップＳ８１９にてＮＯと判定）、第４測定値における行数を見積もり行数として算出する（ステップＳ８２２）。算出部１０２は、第５測定値があると判定する場合（ステップＳ８１９にてＹＥＳと判定）、第５測定値における行数を読み取る（ステップＳ８２０）。
【００８７】
次に、算出部１０２は、第５測定値における行数と第２候補値と大小を比較する（ステップＳ８２１）。算出部１０２は、第５測定値における行数が第２候補値よりも大きいと判定する場合（ステップＳ８２１にてＹＥＳと判定）、第５測定値における行数を見積もり行数として算出する（ステップＳ８２３）。算出部１０２は、第５測定値における行数が第２候補値よりも小さいと判定する場合（ステップＳ８２１にてＮＯと判定）第２候補値を見積もり行数として算出する（ステップＳ８２４）。
【００８８】
上述した例において、算出部１０２は、特定の時刻に基づいて履歴情報を探索したが、時刻が時間帯に関連付けされている場合には、履歴情報において特定の時間帯と一致する情報のみを探索しても良い。
【００８９】
上述した処理を、一例を用いて説明する。以下の例では、外部装置は、アプリケーションにおいて該所定の命令がデータベースサーバ１０３から読み取る行数（以降、「総行数」と略記する）を測定するとする。すなわち、該行数は、アプリケーションが所定の命令を実行する回数と、該所定の命令がデータベースサーバ１０３から読み取る行数とを掛け合わせた数値である。
【００９０】
まず、外部装置は、測定値１を計測したとする。尚、初期の行数は、総行数を４分の１にした「行数＝５２５」であるとする。
【００９１】
測定値１：「総行数＝２１００」、「応答時間＝５０９０」、「回数＝４」、「増減情報＝増減なし」
算出部１０２は、所定の評価方法に従い、第２履歴情報が空であるため（ステップＳ８０２にてＹＥＳと判定）、「見積もり行数＝５２５」を算出する（ステップＳ８０７）。
【００９２】
次に、外部装置は、測定値２を計測したとする。算出部１０２は、測定値２と、測定値１を含む第２履歴情報とを受け取る（ステップＳ８０２にてＮＯと判定）。
【００９３】
測定値２：「総行数＝２１００」、「応答時間＝５２４８」、「回数＝５」、「増減情報＝増減なし」
算出部１０２は、測定値２における「応答時間＝５２４８」と、測定値１における「応答時間＝５０９０」とを比較する（ステップＳ８０４）。算出部１０２は、測定値１における応答時間が、測定値２における応答時間よりも長いため（ステップＳ８０４にてＮＯと判定）、測定値１における「回数＝４」と、測定値２における「回数＝５」とを比較する（ステップＳ８０８）。
【００９４】
算出部１０２は、測定値１における回数が、測定値２における回数よりも少ないと判定する（ステップＳ８０８にてＮＯと判定）ため、測定値１における「総行数＝２０００」と、測定値２における「総行数＝２０００」とを比較する（ステップＳ８０５）。算出部１０２は、測定値１における総行数が、測定値２における総行数以上であると判定するため（ステップＳ８０５にてＹＥＳと判定）、所定の第１算出方法に従い第１候補値を算出する（ステップＳ８０６）。
【００９５】
例えば、所定の第１算出方法は、行数を１．５倍する方法で算出するとする。その場合、算出部１０２は、第１候補値として、７８８（すなわち、１．５×５２５）を算出する。
【００９６】
次に、算出部１０２は、第２履歴情報において、「増減情報＝減量」である測定値が存在しないため（ステップＳ８１２にてＮＯと判定）、７８８を見積もり行数として算出する（ステップＳ８１５）。
【００９７】
本発明の第４の実施形態は、本発明の第３の実施形態と同様の構成を有するため、応答時間を短縮することができる。
【００９８】
さらに、本発明の第４の実施形態によれば、応答時間、回数、行数、及び、増減情報に応じて状況を分類するため、より、状況に即した行数を算出することができる。
【００９９】
＜第５の実施形態＞
次に、上述した第３の実施形態を基本とする第５の実施形態について説明する。
【０１００】
以下の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第３の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。
【０１０１】
図９と図１０とを参照しながら、所定の評価方法における処理について説明する図９は、本発明の第５の実施形態に係るデータベースチューニング装置９０１が有する構成を示すブロック図である。図１０は、本発明の第５の実施形態に係るデータベースチューニング装置９０１における処理の流れを示すフローチャートである。
【０１０２】
データベースチューニング装置９０１は、算出部９０２と変換部９０３とを有する。
【０１０３】
算出部９０２は、上述した見積もり行数を算出しているとする。また、外部装置（不図示）は、特定の時刻において、上述した測定値を測定するとともに、ネットワーク速度を測定しているものとする。ここで、上述したネットワーク速度を第１ネットワーク速度と表す。
【０１０４】
第１ネットワーク速度は、第２履歴情報におけるそれぞれの測定値と第１ネットワーク速度とが関連付けされた情報を第３履歴情報と表す。
【０１０５】
まず、外部装置（不図示）は、第２時刻に、ネットワーク速度を測定し、測定したネットワーク速度の値を変換部９０３に送信する。第２時刻におけるネットワーク速度を第２ネットワーク速度として表す。
【０１０６】
変換部９０３は、第２ネットワーク速度を受信する（ステップＳ１００１）。次に、変換部９０３は、第３履歴情報における測定値のうち、測定時刻が第２時刻に最も近い測定値及び第１ネットワーク速度を読み取る（ステップＳ１００２）。
【０１０７】
次に、変換部９０３は、第２ネットワーク速度が、読み取った第１ネットワーク速度よりも速いか否かを判定する（ステップＳ１００３）。変換部９０３は、第２ネットワーク速度が読み取った第１ネットワーク速度よりも速いと判定する場合（ステップＳ１００３にてＹＥＳと判定）、読み取った測定値における行数を新たな見積もり行数として算出する（ステップＳ１０１０）。
【０１０８】
変換部９０３は、第２ネットワーク速度が読み取った第１ネットワーク速度よりも遅いと判定する場合（ステップＳ１００３にてＮＯと判定）、所定の第３算出方法に応じて、読み取った測定値における行数から新たな候補値を算出する（ステップＳ１００４）。
【０１０９】
例えば、所定の第３算出方法には、行数に第３定数（ただし、第３定数＞１）を乗算する方法がある。例えば、第３定数は、１．５という数値である。新たな候補値は、行数よりも大きな値であればよい。すなわち、所定の第３算出方法は、上述した方法に限定されない。
【０１１０】
次に、変換部９０３は、第３履歴情報において、増減情報が減少を表す測定値の中で、第２時刻に最も近い第４測定値を探す（ステップＳ１００５）。変換部９０３は、第４測定値がないと判定する場合（ステップＳ１００５にてＮＯと判定）、新たな候補値を新たな見積もり行数として算出する（ステップＳ１００９）。
【０１１１】
変換部９０３は、第４測定値があると判定する場合（ステップＳ１００５にてＹＥＳと判定）、第４測定値における行数を読み取る（ステップＳ１００６）。次に、変換部９０３は、新たな候補値が第４測定値における行数より小さいか否かを判定する（ステップＳ１００７）。
【０１１２】
変換部９０３は、新たな候補値が第４測定値における行数より小さいと判定する場合（ステップＳ１００７にてＹＥＳと判定）、新たな候補値を新たな見積もり行数として算出する（ステップＳ１００９）。一方、変換部９０３は、新たな候補値が第４測定値における行数より大きいと判定する場合（ステップＳ１００７にてＮＯと判定）、所定の第４算出方法に従い、新たな見積もり行数を算出する（ステップＳ１００８）。
【０１１３】
例えば、所定の第４算出方法は、第４測定値における行数と、新たな候補値との間における１つの値を算出する方法である。例えば、算出する値は、第４測定値における行数と、新たな候補値との平均として算出することができる。算出する方法は、上述した例に限定されない。
【０１１４】
図１１及び図１２を参照しながら、本実施形態に係るデータベースチューニング装置９０１が算出する新たな見積もり行数の推移について説明する。図１１は、第２ネットワーク速度が第１ネットワーク速度よりも速い場合における、新たな見積もり行数の推移を表す図である。図１２は、第２ネットワーク速度が第１ネットワーク速度よりも遅い場合における、新たな見積もり行数の推移を表す図である。図１１及び図１２における横軸は、一連の処理を実施する回数を表す。また、図１１及び図１２における縦軸は、新たな見積もり行数を表す。
【０１１５】
図１１及び図１２における例において、第１定数は、１．５であり、第２定数は０．８である。
【０１１６】
図１１及び図１２から、新たな見積もり行数は、ネットワーク速度によらず、５回目付近で１４００付近に収束することがわかる。
【０１１７】
本発明の第５の実施形態は、本発明の第３の実施形態と同様の構成を有するため、応答時間を短縮することができる。
【０１１８】
さらに、本発明の第５の実施形態によれば、ネットワーク速度に応じて新たな見積もり行数を算出する。そのため、本実施形態によれば、ネットワーク速度に応じて、見積もり行数を算出することができる。
【０１１９】
上述した例において、変換部９０３は、特定の時刻に基づいて第２履歴情報を探索したが、時刻が時間帯に関連付けされている場合には、第２履歴情報において特定の時間帯と一致する情報のみを探索しても良い。
【０１２０】
（ハードウェア構成例）
上述した本発明の各実施形態におけるデータベースチューニング装置を、１つの計算処理装置（情報処理装置、コンピュータ）を用いて実現するハードウェア資源の構成例について説明する。但し、係るデータベースチューニング装置は、物理的または機能的に少なくとも２つの計算処理装置を用いて実現してもよい。また、係るデータベースチューニング装置は、専用の装置として実現してもよい。
【０１２１】
図１３は、本発明の第１の実施形態乃至本発明の第５の実施形態に係るデータベースチューニング装置を実現可能な計算処理装置のハードウェア構成を概略的に示す図である。計算処理装置２０は、中央処理演算装置（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、以降「ＣＰＵ」と表す）２１、メモリ２２、ディスク２３、不揮発性記録媒体２４、入力装置２５、および、出力装置２６を有する。
【０１２２】
不揮発性記録媒体２４は、コンピュータが読み取り可能な、例えば、コンパクトディスク（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）、デジタルバーサタイルディスク（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）、ブルーレイディスク（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ）、ユニバーサルシリアルバスメモリ（ＵＳＢメモリ）などを指しており、電源を供給しなくても係るプログラムを保持し、持ち運びを可能にする。不揮発性記録媒体２４は、上述した媒体に限定されない。また、不揮発性記録媒体２４の代わりに、通信ネットワークを介して係るプログラムを持ち運びしても良い。
【０１２３】
即ち、ＣＰＵ２１は、ディスク２３が記憶するソフトウェア・プログラム（コンピュータ・プログラム：以下、単に「プログラム」と称する）を、実行する際にメモリ２２にコピーし、演算処理を実行する。ＣＰＵ２１は、プログラム実行に必要なデータをメモリ２２から読み込む。表示が必要な場合には、ＣＰＵ２１は、出力装置２６に出力結果を表示する。外部からプログラムを入力する場合、ＣＰＵ２１は、入力装置２５からプログラムを読み取る。ＣＰＵ２１は、上述した図１、図３、図６、あるいは、図９に示した各部が表す機能（処理）に対応するところのメモリ２２にあるデータベースチューニングプログラム（図２、図４、図７、図８Ａ乃至図８Ｃ、あるいは、図１０）を解釈し実行する。ＣＰＵ２１は、上述した本発明の各実施形態において説明した処理を順次行う。
【０１２４】
即ち、このような場合、本発明は、係るデータベースチューニングプログラムによっても成し得ると捉えることができる。更に、係るデータベースチューニングプログラムが記録されたコンピュータ読み取り可能な記録媒体によっても、本発明は成し得ると捉えることができる。
【０１２５】
尚、上述した各実施形態の一部又は全部は、以下の付記のようにも記載されうる。しかしながら、上述した各実施形態により例示的に説明した本発明は、以下には限られない。即ち、
（付記１）
アプリケーションが所定の命令を実行する回数と、該所定の命令に係る応答時間と、該所定の命令がデータベースサーバから読み取る行数とを含む測定値を、複数の時刻において測定した履歴情報と、特定の時刻において新たに測定する前記測定値とに基づいて、所定の評価方法に従い、新たに該所定の命令が読み取る行数を、見積もり行数として算出する算出部
を備えるデータベースチューニング装置。
【０１２６】
（付記２）
所定の時間帯算出方法に基づき、前記特定の時刻に関連付けされた時間帯を、特定の時間帯として算出するとともに、前記複数の時刻について、それぞれ時刻に関連付けされた時間帯を算出する時刻部をさらに備え、
前記算出部は、複数の前記時間帯のうち、前記特定の時間帯と一致する、前記時間帯において測定した前記履歴情報と、前記新たに測定する測定値とに基づいて、前記所定の評価方法に従い、前記見積もり行数を算出する
付記１に記載のデータベースチューニング装置。
【０１２７】
（付記３）
所定の時間帯算出方法は、２４時間を時刻が０時３０分から１時間ごとに２４分割した区間を前記時間帯とする
付記２に記載のデータベースチューニング装置。
【０１２８】
（付記４）
前記回数と、前記応答時間と、前記行数と、前記算出部が算出した前記見積もり行数が前記特定の時刻において測定した測定値における前記行数より大きいか否かを表す増減情報とが関連付けされた組を、第２履歴情報として、記憶可能な履歴情報記憶部を更に備え、
前記算出部は、前記履歴情報記憶部から前記第２履歴情報を読み取り、読み取った前記第２履歴情報と前記新たに測定する測定値とに基づいて、前記所定の評価方法に従い、前記見積もり行数を算出し、前記特定の時刻において測定した測定値に含まれる前記行数と算出した前記見積もり行数とを比較し、比較した結果に応じて前記増減情報を作成し、前記応答時間と、前記見積もり行数と、前記回数と、作成した前記増減情報とを関連付けて前記履歴情報記憶部に保存する
付記１乃至付記３のいずれかに記載のデータベースチューニング装置。
【０１２９】
（付記５）
前記履歴情報記憶部は、さらに、算出した前記時間帯を関連付け、前記組として記憶可能であり、
前記算出部は、前記履歴情報記憶部において、前記特定の時間帯と一致する前記時間帯に関連付けされた前記履歴情報を読み取る
付記４に記載のデータベースチューニング装置。
【０１３０】
（付記６）
前記所定の算出方法は
（ａ）前記第１測定値における前記応答時間が前記第２測定値における前記応答時間より小さい、か否かと、
（ｂ）前記第１測定値における前記行数が前記第２測定値における前記行数より大きい、か否かと、
（ｃ）前記第１測定値における前記回数が前記第２測定値における前記回数未満である、か否かと、
（ｄ）前記第１測定値における単位時間（ただし、前記単位時間＝前記応答時間÷前記行数である）が前記第２測定値における前記単位時間より大きい、か否かと、
を判定し、
（ａ）と（ｂ）とが成立する場合、（ａ）と（ｃ）とが成立せず（ｂ）が成立する場合、（ａ）と（ｄ）が成立し（ｂ）が成立しない場合、及び、（ａ）と（ｂ）と（ｃ）が成立せず（ｄ）が成立する場合に、所定の第１算出方法に従い、第１候補値を算出し、前記履歴情報記憶部において前記増減情報が減少であることと関連付けされた前記組のうち、最後に登録された前記組を読み出し、前記第１候補値と前記組における前記行数とのうち、小さな値を前記見積もり行数とし、
（ａ）が成立せず（ｃ）が成立する場合、（ａ）が成立し（ｂ）と（ｄ）とが成立しない場合、及び、（ａ）と（ｂ）と（ｃ）と（ｄ）とが成立しない場合に、所定の第２算出方法に従い、第２候補値を算出し、
（ｅ）前記履歴情報記憶部における前記行数と前記第２候補値とが所定の範囲にある前記組が存在するか否かを判定し、
（ｅ）が成立しない場合に、前記第２候補値を前記見積もり行数とし、
（ｅ）が成立する場合に、（ｅ）を成立させる前記組から前記応答時間と前記行数とを読み取り、（ｆ）前記履歴情報記憶部において、（ｅ）を成立させる前記組における前記単位時間よりも大きな前記単位時間を有する特定の組が存在するか否かを判定し、
（ｆ）が成立しない場合に、（ｅ）を成立させる前記組における前記行数を前記見積もり行とし、
（ｆ）が成立する場合に、前記特定の組における前記行数と前記第２候補値のうち、小さな値を前記見積もり行数とする
方法である付記１乃至付記５のいずれかに記載のデータベースチューニング装置。
【０１３１】
（付記７）
第３時刻に測定するネットワーク速度。及び、前記特定の時刻における前記回数と、前記特定の時刻における前記応答時間と、前記特定の時刻における前記行数と、前記特定の時刻における前記増減情報と、前記特定の時刻におけるネットワーク速度とが関連付けされた第３測定値を複数含む第３履歴情報を受け取り、前記第３履歴情報において、前記第３時刻に最も近い前記第３測定値を探し、
（ｇ）前記第３時刻における前記ネットワーク速度が前記第３測定値における前記ネットワーク速度より速い、か否かを判定し、
（ｇ）が成立しない場合に、所定の第３算出方法に従い、前記第３測定値における前記行数から新たな候補値を算出するとともに、前記第３履歴情報において、前記増減情報が減少を表す測定値のうち、前記第３時刻に最も近い時刻に関連付けされた第４測定値を探し、
（ｈ）第４測定値がある、か否かを判定し、
（ｈ）が成立する場合に、前記第４測定値から前記行数を読み取り、（ｋ）前記新たな候補値が前記第４測定値における前記行数より小さい、か否かを判定し、
（ｋ）が成立しない場合に、所定の第４算出方法に従い、前記新たな候補値と前記第４測定値における前記行数とに基づいて、第２見積もり行数を算出し、
（ｇ）が成立しない場合に、前記第３測定値における前記行数を、前記第２見積もり行数として算出し、
（ｈ）が成立しない場合、または、（ｋ）が成立する場合に、前記新たな候補値を、前記第２見積もり行数として算出する変換部をさらに備える
付記４乃至付記６のいずれかに記載のデータベースチューニング装置。
【０１３２】
（付記８）
情報処理装置において、アプリケーションが所定の命令を実行する回数と、該所定の命令に係る応答時間と、該所定の命令がデータベースサーバから読み取る行数とを含む測定値を、複数の時刻において測定した履歴情報と、特定の時刻において新たに測定する前記測定値とに基づいて、所定の評価方法に従い、新たに該所定の命令が読み取る行数を、見積もり行数として算出するデータベースチューニング方法。
【０１３３】
（付記９）
アプリケーションが所定の命令を実行する回数と、該所定の命令に係る応答時間と、該所定の命令がデータベースサーバから読み取る行数とを含む測定値を、複数の時刻において測定した履歴情報と、特定の時刻において新たに測定する前記測定値とに基づいて、所定の評価方法に従い、新たに該所定の命令が読み取る行数を、見積もり行数として算出する算出機能を
コンピュータに実現させるデータベースチューニングプログラム。
【０１３４】
（付記１０）
所定の時間帯算出方法に基づき、前記特定の時刻に関連付けされた時間帯を、特定の時間帯として算出するとともに、前記複数の時刻について、それぞれ時刻に関連付けされた時間帯を算出する時刻機能をさらに含み、
前記算出機能において、複数の前記時間帯のうち、前記特定の時間帯と一致する、前記時間帯において測定した前記履歴情報と、前記新たに測定する測定値とに基づいて、前記所定の評価方法に従い、前記見積もり行数を算出する
付記９に記載のデータベースチューニングプログラム。
【０１３５】
（付記１１）
所定の時間帯算出方法は、２４時間を時刻が０時３０分から１時間ごとに２４分割した区間を前記時間帯とする
付記１０に記載のデータベースチューニングプログラム。
【０１３６】
（付記１２）
前記回数と、前記応答時間と、前記行数と、前記算出機能が算出した前記見積もり行数が前記特定の時刻において測定した測定値における前記行数より大きいか否かを表す増減情報とが関連付けされた組を、第２履歴情報として、記憶可能な履歴情報記憶機能をさらに含み、
前記算出機能において、前記履歴情報記憶機能から前記第２履歴情報を読み取り、読み取った前記第２履歴情報と前記新たに測定する測定値とに基づいて、前記所定の評価方法に従い、前記見積もり行数を算出し、前記特定の時刻において測定した測定値に含まれる前記行数と算出した前記見積もり行数とを比較し、比較した結果に応じて前記増減情報を作成し、前記応答時間と、前記見積もり行数と、前記回数と、作成した前記増減情報とを関連付けて前記履歴情報記憶機能に保存する
付記９乃至付記１１のいずれかに記載のデータベースチューニングプログラム。
【０１３７】
（付記１３）
前記履歴情報記憶機能において、さらに、算出した前記時間帯を関連付け、前記組として記憶可能であり、
前記算出機能は、前記履歴情報記憶機能において、前記特定の時間帯と一致する前記時間帯に関連付けされた前記履歴情報を読み取る
付記１２に記載のデータベースチューニングプログラム。
【０１３８】
（付記１４）
前記所定の算出方法は
（ａ）前記第１測定値における前記応答時間が前記第２測定値における前記応答時間より小さい、か否かと、
（ｂ）前記第１測定値における前記行数が前記第２測定値における前記行数より大きい、か否かと、
（ｃ）前記第１測定値における前記回数が前記第２測定値における前記回数未満である、か否かと、
（ｄ）前記第１測定値における単位時間（ただし、前記単位時間＝前記応答時間÷前記行数である）が前記第２測定値における前記単位時間より大きい、か否かと、
を判定し、
（ａ）と（ｂ）とが成立する場合、（ａ）と（ｃ）とが成立せず（ｂ）が成立する場合、（ａ）と（ｄ）が成立し（ｂ）が成立しない場合、及び、（ａ）と（ｂ）と（ｃ）が成立せず（ｄ）が成立する場合に、所定の第１算出方法に従い、第１候補値を算出し、前記履歴情報記憶部において前記増減情報が減少であることと関連付けされた前記組のうち、最後に登録された前記組を読み出し、前記第１候補値と前記組における前記行数とのうち、小さな値を前記見積もり行数とし、
（ａ）が成立せず（ｃ）が成立する場合、（ａ）が成立し（ｂ）と（ｄ）とが成立しない場合、及び、（ａ）と（ｂ）と（ｃ）と（ｄ）とが成立しない場合に、所定の第２算出方法に従い、第２候補値を算出し、
（ｅ）前記履歴情報記憶機能における前記行数と前記第２候補値とが所定の範囲にある前記組が存在するか否かを判定し、
（ｅ）が成立しない場合に、前記第２候補値を前記見積もり行数とし、
（ｅ）が成立する場合に、（ｅ）を成立させる前記組から前記応答時間と前記行数とを読み取り、（ｆ）前記履歴情報記憶機能において、（ｅ）を成立させる前記組における前記単位時間よりも大きな前記単位時間を有する特定の組が存在するか否かを判定し、
（ｆ）が成立しない場合に、（ｅ）を成立させる前記組における前記行数を前記見積もり行とし、
（ｆ）が成立する場合に、前記特定の組における前記行数と前記第２候補値のうち、小さな値を前記見積もり行数とする
方法である付記９乃至付記１３のいずれかに記載のデータベースチューニングプログラム。
【０１３９】
（付記１５）
第３時刻に測定するネットワーク速度。及び、前記特定の時刻における前記回数と、前記特定の時刻における前記応答時間と、前記特定の時刻における前記行数と、前記特定の時刻における前記増減情報と、前記特定の時刻におけるネットワーク速度とが関連付けされた第３測定値を複数含む第３履歴情報を受け取り、前記第３履歴情報において、前記第３時刻に最も近い前記第３測定値を探し、
（ｇ）前記第３時刻における前記ネットワーク速度が前記第３測定値における前記ネットワーク速度より速い、か否かを判定し、
（ｇ）が成立しない場合に、所定の第３算出方法に従い、前記第３測定値における前記行数から新たな候補値を算出するとともに、前記第３履歴情報において、前記増減情報が減少を表す測定値のうち、前記第３時刻に最も近い時刻に関連付けされた第４測定値を探し、
（ｈ）第４測定値がある、か否かを判定し、
（ｈ）が成立する場合に、前記第４測定値から前記行数を読み取り、（ｋ）前記新たな候補値が前記第４測定値における前記行数より小さい、か否かを判定し、
（ｋ）が成立しない場合に、所定の第４算出方法に従い、前記新たな候補値と前記第４測定値における前記行数とに基づいて、第２見積もり行数を算出し、
（ｇ）が成立しない場合に、前記第３測定値における前記行数を、前記第２見積もり行数として算出し、
（ｈ）が成立しない場合、または、（ｋ）が成立する場合に、前記新たな候補値を、前記第２見積もり行数として算出する変換機能をさらに含む
付記１２乃至付記１４のいずれかに記載のデータベースチューニングプログラム。
【符号の説明】
【０１４０】
１０１    データベースチューニング装置
１０２    算出部
１０３    データベースサーバ
１０４    通信ネットワーク
３０１    データベースチューニング装置
３０２    時刻部
６０１    データベースチューニング装置
６０２    履歴情報記憶部
６０３    算出部
９０１    データベースチューニング装置
９０２    算出部
９０３    変換部
２０    計算処理装置
２１    ＣＰＵ
２２    メモリ
２３    ディスク
２４    不揮発性記録媒体
２５    入力装置
２６    出力装置
【図１】
2014174869.tif 000003
【図２】
2014174869.tif 000004
【図３】
2014174869.tif 000005
【図４】
2014174869.tif 000006
【図５】
2014174869.tif 000007
【図６】
2014174869.tif 000008
【図７】
2014174869.tif 000009
【図８Ａ】
2014174869.tif 000010
【図８Ｂ】
2014174869.tif 000011
【図８Ｃ】
2014174869.tif 000012
【図９】
2014174869.tif 000013
【図１０】
2014174869.tif 000014
【図１１】
2014174869.tif 000015
【図１２】
2014174869.tif 000016
【図１３】
2014174869.tif 000017
【図１４】
2014174869.tif 000018