(57)【特許請求の範囲】
【請求項１】
データベースサーバの格納するデータベースに対する問合せを入力する入力部と、
前記入力部により入力された問合せを前記データベースサーバにおいて処理するために必要な資源の量を予測する予測部と、
前記予測部により予測された資源の量が許容される資源の量を越えないと判断すると、前記入力部に入力された問合せを前記データベースサーバに送信して前記問合せの結果を受信し、前記予測部より予測された資源の量が前記許容される資源の量を超えると判断すると、前記入力部に入力された問合せを前記データベースサーバに送信しない送受信部と
を備え、
前記許容される資源の量は、前記データベースサーバの負荷が小さければ大きく設定され、前記データベースサーバの負荷が大きければ小さく設定されることを特徴とする端末装置。
【請求項２】
前記予測部は、問合せに、その問合せを前記データベースサーバにおいて処理するのに必要となる資源の量を関連付けるテーブルを参照し、前記入力部に入力された問合せにマッチする問合せに関連付けられている資源の量を取得することを特徴とする請求項１に記載の端末装置。
【請求項３】
前記送受信部により送信された問合せの結果が受信されると、前記送受信部により送信された問合せを前記データベースサーバにおいて処理するために必要であった資源の量を算出し、前記テーブルを更新する更新部を有する請求項２に記載の端末装置。
【請求項４】
前記テーブルをクリアするクリア部を有する請求項３に記載の端末装置。
【請求項５】
前記送受信部は、前記予測部により予測された資源の量を考慮せずに、前記入力部に入力された問合せを前記データベースサーバに送信して前記問合せの結果を受信するモードを有することを特徴とする請求項１から４のいずれかに記載の端末装置。
【請求項６】
前記送受信部は、前記データベースサーバにおいて処理が許容される問合せを記憶する許容問合せテーブルを参照し、前記予測部が前記入力部に入力された問合せを前記データベースサーバにおいて処理するのに必要な資源の量が許容されなくても、前記入力部に入力された問合せが前記許容問合せテーブルに記憶されていれば、前記入力部に入力された問合せを前記データベースサーバに送信することを特徴とする請求項１から５のいずれかに記載の端末装置。
【請求項７】
前記許容問合せテーブルは、問合せを入力することが許容されるユーザ識別情報、問合せを入力されることが許容される端末装置の識別情報、問合せを入力することが許容される時間帯および問合せを入力することが許容される前記データベースサーバの負荷量のいずれかを含む情報を問合せに関連付けることを特徴とする請求項６に記載の端末装置。
【請求項８】
前記資源の量は、データベースサーバにおいて問合せを処理するのに必要である時間、読み込まれるデータベースのページ数、ＣＰＵ時間のいずれかを含むことを特徴とする請求項１から７のいずれかに記載の端末装置。
【請求項９】
前記問合せは、動的ＳＱＬ文とバインド変数の値との組み合わせであることを特徴とする請求項１から８のいずれかに記載の端末装置。
【請求項１０】
前記問合せは、ＧＵＩ画面に入力された検索条件から生成されることを特徴とする請求項１から９のいずれかに記載の端末装置。
【請求項１１】
ＣＰＵと、ネットワークインターフェースと、入出力インターフェースとを備え、データベースと通信可能な計算機の動作方法であり、
前記データベースサーバの格納するデータベースに対する問合せが前記入出力インターフェースを介して入力されると、前記ＣＰＵにより実行されるプログラムが、入力された前記問合せを前記データベースサーバにおいて処理するために必要な資源の量を予測し、
前記ＣＰＵにより実行されるプログラムが、予測された前記資源の量が許容される資源の量を越えないと判断すれば、前記ＣＰＵにより実行されるプログラムは、入力された前記問合せを前記データベースサーバに前記ネットワークインターフェースを介して送信し、前記ＣＰＵにより実行されるプログラムが、予測された前記資源の量が前記許容される資源の量を超えると判断すれば、入力された前記問合せを前記データベースサーバに送信しないことを含み、
前記許容される資源の量は、前記データベースサーバの負荷が小さければ大きく設定され、前記データベースサーバの負荷が大きければ小さく設定されることを特徴とする計算機の動作方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベースに対して問合せを行なう端末装置に関する。
【背景技術】
【０００２】
多くのデータベースに対する問合せとして、ＳＱＬが用いられている。ＳＱＬは宣言的に表現される問合せ言語であるので、データベースを格納するデータベースサーバにおいて最適化が行なわれ、効率的なアクセスプランが選択されて問合せが処理される（例えば特許文献１参照）。
【０００３】
データベースサーバにおいて問合せの最適化を行ない、効率的なアクセスプランを選択する機能を有する部はオプティマイザと呼ばれる。オプティマイザは、ＳＱＬなどにより表現された問合せを例えば関係代数の式に変形し、関係代数の式を等価な式に変形して、効率的なアクセスプランを選択する。例えば、関係代数の式において、リレーションの直積に対して選択が適用される場合、その選択が個々のリレーションに対する選択であれば、リレーションに対する選択の結果の直積となるように変形を行なう。また、索引が定義されているカラムに対する制限を優先するように変形を行なう。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−３１６８１１号公報
【特許文献２】特開２００４−０９４３６９号公報
【特許文献３】特開２００１−２８２７９９号公報
【特許文献４】特開平４−２７９９７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、オプティマイザは完全なものではなく、効率の悪いアクセスプランを選択する場合がある。この場合には、問合せの処理に時間を要し、特に、グラフィカルユーザインターフェース（ＧＵＩ）により問合せが対話的に入力された場合には、ＧＵＩの操作者の業務が停止してしまい、業務の無駄が発生する。
【課題を解決するための手段】
【０００６】
そこで、本発明の一実施形態として、データベースサーバの格納するデータベースに対する問合せを入力する入力部と、前記入力部により入力された問合せを前記データベースサーバにおいて処理するために必要な資源の量を予測する予測部と、前記予測部により予測された資源の量が許容されると判断すると、前記入力部に入力された問合せを前記データベースサーバに送信して前記問合せの結果を受信し、前記予測部より予測された資源の量が許容されないと判断すると、前記入力部に入力された問合せを前記データベースサーバに送信しない送受信部とを備える端末装置を提供する。
【０００７】
また、本発明の一実施形態として、データベースサーバの格納するデータベースに対する問合せが入力されると、入力された前記問合せを前記データベースサーバにおいて処理するために必要な資源の量を予測し、予測された前記資源の量が許容されると判断すれば、入力された前記問合せを前記データベースサーバに送信し、予測された前記資源の量が許容されないと判断すれば、入力された前記問合せを前記データベースサーバに送信しないことを含む計算機の動作方法を提供する。
【発明の効果】
【０００８】
本発明によれば、データベースサーバに問合せが送信される前に問合せを処理するのに必要な資源の量が予測されるので、処理に時間などを要する問合せが処理されることを防止することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の一実施形態に係るデータベースシステムの機能ブロック図
【図２】本発明の一実施形態に係るデータベースシステムの端末装置において用いられるＧＵＩの一例図
【図３】本発明の一実施形態に係るデータベースシステムにおける処理のフローチャート
【図４】本発明の一実施形態に係るデータベースシステムにおける資源の予測について説明する図
【図５】本発明の一実施形態に係るデータベースシステムの機能ブロック図
【図６】本発明の一実施形態に係るデータベースシステムにおける処理のフローチャート
【発明を実施するための形態】
【００１０】
以下、本発明を実施するための形態を実施形態として説明する。なお、本発明は、以下に説明する実施形態に限定されることはない、以下に説明する実施形態を種々に変形して本発明を実施することが可能である。
【００１１】
（実施形態１）
図１は、本発明の一実施形態に係るデータベースシステムの機能ブロック図を示す。データベースシステム１００は、データベースサーバ１０１と端末１０２とを有する。データベースサーバ１０１と端末１０２とはネットワークによって通信が可能である。図１においては、データベースサーバ１０１と端末１０２とをそれぞれ１台ずつ示しているが、それぞれ任意の数とすることができる。
【００１２】
データベースサーバ１０１は、データベースを格納する。格納されているデータベースは、端末１０２より送信される問合せ、データ管理要求により操作される。なお、問合せには、データベースに記憶されているデータの照会の要求のみならず、データの操作の要求も含まれるとする。
【００１３】
端末１０２は、問合せ入力部１０３と、資源予測部１０４と、送受信部１０５と、結果表示部１０６とを備える端末装置である。
【００１４】
問合せ入力部１０３は、端末１０２の操作者よりデータベースサーバ１０１に格納されているデータベースに対する問合せを入力する。例えば、キャラクタインターフェース画面に操作者がキーボードなどを用いてタイプした問合せを入力する。入力された問合せは、文字列などのデータとして、メモリの所定アドレスに格納される。なお、問合せは、例えば、ＩＳＯ／ＩＥＣ  ９０７５  “Ｄａｔａｂａｓｅ  Ｌａｎｇｕａｇｅ  ＳＱＬ”による標準規格に基づいた言語により記述されていてもよい。
【００１５】
また、問合せ入力部１０３は、グラフィカルユーザインターフェースを用いて、問合せを構成する検索条件などが入力され、入力された条件などを用いて生成された問合せを入力するようになっていてもよい。
【００１６】
図２は、グラフィカルユーザインターフェースを用いて検索条件などが入力されるウィンドウの例を示す。ウィンドウ２０１には、基本条件を入力するサブウィンドウ２０２と
絞込条件を入力するサブウィンドウ２０３とを含む。ウィンドウ２０１は、例えば、銀行業務に用いる検索条件が入力される一例である。このためサブウィンドウ２０２には、部店とグループ部を選択するサブウィンドウ２０４を含み、サブウィンドウ２０４においては、チェックボックス２０８を選択することにより、選択された部店とグループ部とが検索条件として用いられる。また、サブウィンドウ２０２は、期間についての条件を入力するためのサブウィンドウ２０５を含み、ラジオボタン２０９、２１０により、本日のみか、本日からテキストエリア２１１、２１２に入力される日付までの期間が条件として入力される。
【００１７】
サブウィンドウ２０３は、勘定店番を入力するサブウィンドウ２０６を含み、チェックボックス２１３が選択されると、テキストエリア２１４に入力された勘定店の番号が検索条件として用いられる。また、サブウィンドウ２０３は、取引先指定を入力するサブウィンドウ２０７を含み、チェックボックス２１５が選択されると、テキストエリア２１６に入力される取引先の指定が検索条件として用いられる。
【００１８】
サブウィンドウ２０２、２０３に検索条件が入力され、検索ボタン２１７がマウスなどを用いて押下されると、端末１０２で動作するプログラムにより、問合せが生成され、問合せ入力部１０３に入力される。
【００１９】
問い合わせとして、ＩＳＯ／ＩＥＣ  ９０７５  “Ｄａｔａｂａｓｅ  Ｌａｎｇｕａｇｅ  ＳＱＬ”による標準規格に基づいた言語が用いられる場合には、通常、動的ＳＱＬの機能が用いられて問合せが入力される。動的ＳＱＬは、定型的な問合せを処理するのみならず、キャラクタインターフェース画面を用いてタイプされたり、グラフィカルユーザインターフェースにより設定された検索などの条件から生成された問合せを処理するのに適している。
【００２０】
すなわち、動的ＳＱＬの機能を用いることにより、グラフィカルユーザインターフェースにより設定された条件に応じて、動的ＳＱＬ文として問合せ文を文字列として生成し、その文字列をデータベースサーバに送信して実行させることができる。また、生成された問合せ文には、バインド変数（ホスト変数）を埋め込むことができる。このとき、バインド変数に、テキストエリアなどに入力された値を代入することにより、動的ＳＱＬ文の生成を容易に行なえる。
【００２１】
例えば、チェックボックス２０８により選択される部店とグループ部との識別番号が、ｂｕｔｅｎｇｒｏｕｐｉｄというバインド変数に代入されている場合には、
ＳＥＬＥＣＴ  ＊  ＦＲＯＭ  ｔａｂｌｅＡ  ＷＨＥＲＥ  ｂｇｉｄ＝：ｂｕｔｅｎｇｒｏｕｐｉｄ；
というＳＥＬＥＣＴ文を文字列として生成することにより、：ｂｕｔｅｎｇｒｏｕｐｉｄの部分がバインド変数ｂｕｔｅｎｇｒｏｕｐｉｄの値に置換されたＳＥＬＥＣＴ文をデータベースサーバで実行させることができる。
【００２２】
資源予測部１０４は、問合せ入力部が入力した問合せをデータベースサーバ１０１において処理するのに必要な資源の量を予測する。ここに、資源の量とは、データベースサーバ１０１が問合せを処理するのに消費するリソースの量をいう。リソースは、メモリ、データベースから読み出されるページ、ＣＰＵ、プロセスが実行可能となるまでの待ち時間、データベースサーバ１０１と端末１０２との間のネットワークの帯域などがある。したがって、問合せ入力部に入力された問合せをデータベースサーバ１０１において処理するのに必要な資源の量としては、問合せを処理するために必要なメモリの量、データベースから読み出されるページの数、ＣＰＵによる処理時間、データベースサーバ１０１のプロセスが問合せを処理するのに必要な全体の時間（すなわち、ＣＰＵの実行時間に、プロセ
スが実行可能となるまでの待ち時間の和）、データベースサーバ１０１から送信される問合せの結果のデータ量のいずれかを含むことができる。
【００２３】
資源予測部１０４が、資源の量を予測する方法としては、問合せを解析し、例えばＳＥＬＥＣＴ文のＦＲＯＭ句に並べられているテーブルに記憶されているデータの総量に基づいて予測する方法や、ＷＨＥＲＥ句による条件を、索引を用いて処理することができるかどうかに基づいて予測する方法などがある。
【００２４】
例えば、資源予測部１０４は、ＳＥＬＥＣＴ文のＦＲＯＭ句に並べられているテーブルに記憶されているデータの総量を、データベースサーバ１０１に問合せるなどして取得し、データの総量が大きいほど、必要な資源の量が多くなるように予測する。この場合、ＦＲＯＭ句にテーブルが１つ指定されている場合に必要な資源の量よりも、テーブルが２つ指定されている場合に必要な資源の量が多くなるように予測する。
【００２５】
また、ＷＨＥＲＥ句による条件を、索引を用いて処理することができれば、必要な資源の量が小さくなるように予測し、索引を用いて処理することができなければ、必要な資源の量が大きくなるように予測する。例えば、列ｂｇｉｄに索引が定義されている場合、ＷＨＥＲＥ句にｂｇｉｄ＝’１００’という条件が指定されているときには索引を用いることができるので、必要な資源の量として小さな量を予測し、ｂｇｉｄ＝’％１％’のようにパターンマッチが指定されている場合には、索引を用いることが困難であるので、必要な資源の量として大きな量を予測する。
【００２６】
送受信部１０５は、資源予測部１０４により予測された資源の量が許容されると判断すると、問合せ入力部１０３に入力された問合せをデータベースサーバ１０１に送信し、問合せの結果を受信する。また、送受信部１０５は、資源予測部１０４により予測された資源の量が許容されないと判断すると、問合せ入力部１０３に入力された問合せをデータベースサーバ１０１に送信しない。
【００２７】
資源予測部１０４により予測された資源の量が許容されるか否かを判断するには、あらかじめ資源の量を定めておき、あらかじめ定められた資源の量より資源予測部１０４により予測された資源の量が大きくなれば、許容されないと判断し、そうでなければ、許容されると判断する。例えば、データベースサーバ１０１のプロセスが問合せを処理するのに必要な全体の時間として、２０秒を定めた場合には、資源予測部１０４により予測された時間が２０秒を越えていれば、許容されないと判断する。
【００２８】
また、あらかじめ定められる資源の量は、データベースサーバ１０１の負荷に応じて変化してもよい。例えば、データベースサーバ１０１のロードアベレージが例えば２０以下であり、負荷が低ければ、あらかじめ定められる資源の量を大きく設定し、必要とされる資源の量が大きな問合せが処理されるようにする。逆に、データベースサーバ１０１のロードアベレージが例えば２０を越え、負荷が高ければ、あらかじめ定められる資源の量を小さく設定し、必要とされる資源の量が大きな問合せが処理されないようにする。これにより、高負荷下での問合せの処理のためにデータベースサーバ１０１の資源が不足し、データベースサーバ１０１が停止などしてしまうことを防止することができる。
【００２９】
結果表示部１０６は、送受信部１０５により問合せがデータベースサーバ１０１に送信された場合には、データベースサーバ１０１において問合せが処理された結果を表示する。例えば、ＳＥＬＥＣＴ文により検索されたデータを表示したり、ＩＮＳＥＲＴ文の実行が成功したかどうか、ＤＥＬＥＴＥ文により削除された行数などを表示したりする。また、送受信部１０５が、資源予測部１０４により予測された資源の量が許容されないと判断された場合には、エラーの表示を行なってもよい。
【００３０】
図３は、本実施形態の端末１０２における処理のフローチャートである。ステップＳ３０１の処理として、問合せ入力部１０３が入力した問合せを取得する。問合せ入力部１０３が入力した問合せは、メモリの所定のアドレスなどに記憶されるので、所定のアドレスから問合せを読み出す。ステップＳ３０２の処理として、資源予測部１０４が、データベースサーバ１０１において問合せを処理するのに必要な資源の量を予測する。ステップＳ３０３の処理として、予測された資源の量が許容されるかどうかを判断する。もし、資源の量が許容されないと判断された場合には、ステップＳ３０４に処理を移行し、エラーとし、結果表示部１０６にエラー表示などを行ない、問合せを送信しない。ステップＳ３０３において、資源の量が許容されると判断されると、ステップＳ３０５に処理を移行し、送受信部１０５により問合せをデータベースサーバ１０１に送信する。ステップＳ３０６の処理として、送受信部１０５により、問合せの結果を受信する。ステップＳ３０７の処理として、結果表示部１０６により結果を表示する。
【００３１】
なお、端末１０２は、計算機を用いて実現することができる。この場合、計算機は、ＣＰＵと、メモリと、二次記憶装置と、ネットワークインターフェースと、入出力インターフェースとを備える。二次記憶装置には、端末１０２を実現するプログラムが記憶され、メモリにロードされてＣＰＵにより実行される。このプログラムは、入出力インターフェースを介して入力された問合せを解析し、資源の量を予測し、予測された資源の量が許容されると判断するとネットワークインターフェースを介して問合せをデータベースサーバ１０１へ送信し、予測された資源の量が許容されないと判断すると、問合せを送信しないことを計算機に実行させる。
【００３２】
なお、端末１０２は、計算機とプログラムとを用いなくても、ＬＳＩなどを組み合わせて、ハードウェアなどのみとして構成することもできる。
【００３３】
以上のように、本実施形態では、データベースサーバ１０１に問合せを送信する前に、データベースサーバ１０１において問合せを処理するために必要な資源の量を予測し、資源の量が許容されなければ、問合せがデータベースサーバ１０１に送信されない。これにより、多量の資源が必要となる問合せが処理されるのを防止することができる。
【００３４】
特に、ユーザインターフェースを用いて、問合せを入力したり、検索条件を設定したりする場合には、誤って大量の資源を必要とする問合せが入力されてしまうことがある。従来は、このような場合には、何もせずに待つか、問合せの処理を中止する操作を行なう必要があった。しかし、本発明の一実施形態によれば、問合せが処理する前に大量の資源が必要とされるか否かが予測され、誤って入力された、大量の資源を必要とする問合せが処理されることを防止することができる。
【００３５】
なお、問合せを処理するために必要な資源の量を予測せずに、全ての問合せをサーバ１０１に送信するモードが端末１０２に備わっていてもよい。例えば、送受信部１０５は、資源予測部１０４により予測される資源の量を考慮せずに、問合せ入力部１０３に入力された問合せをサーバ１０１に送信するモードを有する。このようなモードは、テストの実行や不具合の修正のために、データベースサーバ１０１に送信できる問合せに制限があると不都合な場合があるからである。なお、問合せを処理するために必要な資源の量を予測せずに、全ての問合せをデータベースサーバ１０１に送信するモードに入ると全ての問合わせが送信できるようになるため、このモードは慎重に使用する必要がある。そこで、端末１０２の操作者に特殊なパスワードの入力を求めてから、このモードに入るようになっていてもよい。
【００３６】
また、資源の量を予測せずに全ての問合せをデータベースサーバ１０１に送信するので
はなく、端末１０２などを操作することにより、許容される資源の量を設定できるようになっていてもよい。
【００３７】
（実施形態２）
本発明の実施形態２として、資源予測部１０４が、問合せに資源の量を関連付けるテーブルを用いて、必要な資源を予測する実施形態について説明する。
【００３８】
図４（ａ）は、本実施形態において、資源予測部１０４が問合せ入力部１０３に入力された問合せをデータベースサーバ１０１において処理するために必要な資源の量を予測するために用いるテーブルの一例を示す。このようなテーブルは、端末１０２のメモリに記憶したり、データベースサーバ１０１の記憶装置や他の装置の記憶装置に記憶され、ファイル共有などの機能を用いて、端末１０２から読み取り可能としたりすることができる。
【００３９】
図４（ａ）のテーブルは２つの列を有し、一方の列にはＳＱＬ文が問合せとして格納され、他方には必要な資源の量が格納される。例えば、図４（ａ）において、“ＳＱＬ文１”をデータベースサーバ１０１において処理するために必要な資源の量が“資源量１”により表されている。
【００４０】
ＳＱＬ文は、例えば、図４（ｂ）に示されるように、文字列データとして格納することができる。あるいは、図４（ｃ）に示すように、バインド変数を含む動的ＳＱＬ文を表す文字列データとして格納される部分と、バインド変数とその値との対として格納される部分との組み合わせとして格納することができる。図４（ｃ）のように、バインド変数を含む文字列データの部分とバインド変数とその値との対の部分とに分離して格納することにより、例えば、グラフィカルユーザインターフェースを用いて検索条件が操作者により入力される場合、操作者が特定の領域にデータの入力を開始したときに、資源予測部１０４が図４（ａ）の検索を開始し、操作者が特定の領域にデータを入力し終えたときに、バインド変数とその値との対をさらに検索し、必要な資源の量を直ちに予測することができる。これにより、検索ボタン２１７が押下される前に資源の量が許容されるかどうかを判断することができ、スムーズな操作を操作者に提供することができる。
【００４１】
必要資源量の列に格納されるデータは、あらかじめ問合せを処理することにより求めておくこともできるし、実施形態１のように予測値を求めておいてもよい。
【００４２】
本実施形態の処理の一例においては、資源予測部１０４は、問合せ入力部１０３に入力された問合せを用いて、図４（ａ）に一例が示されるテーブルを検索し、マッチする問合せがテーブルに格納されているかどうかを判断する。もし、マッチする問合せがテーブルに格納されていれば、対応する資源量を読み出す。もし、マッチする問合せがテーブルに格納されていなければ、実施形態１として説明したように、問合せを解析し、必要な資源の量を予測してもよい。
【００４３】
本実施形態のように、問合せに資源の量を関連付けておくことにより、必要な資源の量の予測を簡単に行なうことができる。
【００４４】
なお、本実施形態の変形例として、図４（ａ）に示すテーブルとは別に、問合せを格納するテーブルを準備する。このテーブルは、図４（ａ）に示すテーブルや実施形態１のように必要な資源の量の予測により、必要な資源の量が許容されない場合であった場合であっても、送受信部１０５が問合せを送信する問合せを格納する。このようなテーブルを準備することにより、通常の業務時間帯においては、資源の量が許容されない問合せであっても、特別な時間帯などにおいては、実行することが可能となる。また、このようなテーブルに、問合せの実行が許容される操作者のユーザ識別情報、端末の識別情報、データベ
ースサーバの負荷量、時間帯などを関連付けることができる。これにより、問合わせの入力を行なうことができる操作者、端末、データベースサーバの負荷量、時間帯などを細かく指定することができる。
【００４５】
また、端末１０２は、図４（ａ）に示すテーブルをクリアするクリア部を有していてもよい。端末１０２などにおいて操作を行なうことにより、クリア部が図４（ａ）に示すテーブルをクリアすることができるようになっていてもよい。すなわち、端末１０２のディスプレイに表示された特定のボタンなどを押下するなどすると、図４（ａ）に示すテーブルに格納されているＳＱＬ文と資源量とが削除される。このとき、図４（ａ）に示すテーブル全ての削除されるＳＱＬ文と資源量とが削除されてもよいし、選択されたＳＱＬ文と資源量とが削除されるようになっていてもよい。
【００４６】
なお、図４（ａ）に示すテーブルをクリアすると、資源が許容されない問合わせが処理されるようになるため、端末１０２の操作者の権限を確認するために、パスワードの入力などを求めるようにしてもよい。
【００４７】
（実施形態３）
本発明の実施形態３として、問合せを実際にデータベースサーバ１０１で処理させ、その処理において必要となった資源の量を図４（ａ）のテーブルに格納する実施形態について説明する。
【００４８】
図５は、本実施形態に係るデータベースシステムの機能ブロック図を示す。データベースシステム５００は、データベースサーバ５０１と、端末５０２とを有する。データベースサーバ５０１は、実施形態１に係るデータベースシステム１００のデータベースサーバ１０１に対応し、端末５０２は、端末１０２に対応する。ただし、本実施形態では、端末１０２が、さらに、資源予測更新部５０３を有している。
【００４９】
資源予測更新部５０３は、送受信部１０５により送信された問い合わせの結果が受信されると、問合せをデータベースサーバ５０１において処理するために必要であった資源の量を算出する。例えば、問合せが送受信部１０５により送信されてから、結果が送受信部１０５により受信されるまでの時間により、データベースサーバ１０１のプロセスが問合せを処理するのに必要な全体の時間を算出する。また、送受信部１０５により受信された結果のデータ量を算出する。あるいは、結果とともに、データベースサーバ１０１より、処理に必要とされた資源の量を表す情報が受信される場合には、その情報により資源の量を算出する。
【００５０】
また、資源予測更新部５０３は、図４（ａ）に一例が示されるテーブルを更新する。すなわち、送信された問合せがテーブルに格納されていなければ、問合せと資源の量との組み合わせをテーブルに追加する。また、送信された問合せがテーブルに格納されていれば、対応する資源の量を更新する。更新の際には、単純に置き換えるのではなく、資源の量の平均（例えば移動平均など）を算出して更新してもよい。
【００５１】
特に、資源の量として時間に関係するＣＰＵによる処理時間やデータベースサーバ１０１のプロセスが問合せを処理するのに必要な全体の時間については、次の構成を取ることもできる。すなわち、問合せの送信とともにタイマを起動し、タイマにより計測された時間が所定時間以上となれば、データベースサーバ１０１に対して処理の中止命令を発行するとともに、送信した問合せと処理を中止した旨との組み合わせとをテーブルに格納する（送信した問合せがテーブルに既に格納されていれば、更新する）。これにより、必要以上に時間を要する問合せの実行を抑制することができる。
【００５２】
図６は、本実施形態における処理のフローチャートを示す。このフローチャートにおいて、ステップＳ６０１−Ｓ６０６、Ｓ６０９はそれぞれ、ステップＳ３０１−Ｓ３０６、Ｓ３０７に対応する。本実施形態においては、資源予測更新部５０３により、ステップＳ６０６の後に、ステップＳ６０７の処理として、必要な資源の量を算出し、ステップＳ６０３の処理として、問合せと資源の量との組み合わせを更新する。
【００５３】
本実施形態においては、問合せに関連付けられる資源の量が更新されるので、索引の削除などによりデータベースの構造が変わったりデータベースに記憶されているデータ量が変化して、問合せを処理するために必要な資源の量が変化したりしても、自動的に予測される資源の量を更新することができる。
【００５４】
（その他の実施例）
本発明の各実施形態においては、端末が問合せを送信する前に必要な資源の量を予測する場合について主に説明した。ただし、本発明は、これらの実施形態に限定されることはなく、例えばデータベースサーバが問合せの処理を実行する前に必要な資源の量を予測し、必要な資源の量が許容されないと判断すれば、問合せを実行しないようにすることもできる。また、端末とデータベースサーバとの通信を中継する装置が、端末より問合せを受信し、問合せをデータベースサーバにおいて処理するのに必要な資源の量を予測し、許容されないと判断すれば、データベースサーバに問合せを送信しないようにすることもできる。
【符号の説明】
【００５５】
１００  データベースシステム、１０１  データベースサーバ、１０２  端末、１０３
問合せ入力部、１０４  資源予測部、１０５  送受信部、１０６  結果表示部
【図１】
0005256355.tif 000002
【図２】
0005256355.tif 000003
【図３】
0005256355.tif 000004
【図４】
0005256355.tif 000005
【図５】
0005256355.tif 000006
【図６】
0005256355.tif 000007