JP2001142898A - Inquiry process execution availability determination method - Google Patents
Inquiry process execution availability determination methodInfo
- Publication number
- JP2001142898A JP2001142898A JP32500499A JP32500499A JP2001142898A JP 2001142898 A JP2001142898 A JP 2001142898A JP 32500499 A JP32500499 A JP 32500499A JP 32500499 A JP32500499 A JP 32500499A JP 2001142898 A JP2001142898 A JP 2001142898A
- Authority
- JP
- Japan
- Prior art keywords
- program
- query
- execution
- execution plan
- execution time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】
【課題】ユーザが予測する以上に長く実行する問合せで
ある長時間実行問合せの実行を抑止する。
【解決手段】問合せ処理の実行時間を予測する実行時間
予測(123)と、実行時間予測により問合せ実行の可
否を判定する実行可否判定(124)と、問合せ処理中
に予測した実行時間を修正する実行時間予測修正部(1
26)とを導入する。
【効果】長時間実行問合せの実行を抑止可能となる結
果、データシステムハブまたはDBMSのスループット
が向上する。
(57) [Summary] [Problem] To suppress the execution of a long-running query that is a query that is executed longer than expected by a user. An execution time prediction (123) for estimating an execution time of an inquiry process, an execution availability determination (124) for determining whether or not to execute an inquiry based on the execution time prediction, and correcting the execution time predicted during the inquiry process. Execution time prediction correction unit (1
26). As a result, the execution of a long-running query can be suppressed, so that the throughput of the data system hub or the DBMS is improved.
Description
【0001】[0001]
【発明の属する技術分野】本発明はコンピュータシステ
ムに関し、特に1つ以上のデータベースを用いてユーザ
の問合せを処理するデータ処理システムによる問合せ実
行の可否判定方法に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a computer system, and more particularly to a method for determining whether a query can be executed by a data processing system that processes a user's query using one or more databases.
【0002】[0002]
【従来の技術】現在、企業の計算機システムには、数多
くのデータベース管理システム(DBMS)が存在して
いる。これらのDBMSは、歴史的に企業の発展ととも
に目的別に追加されてきたものである。現在、業種間の
規制緩和が急速に進展しており、これに伴い各企業は新
規事業を追加していく傾向が強い。この際、新規事業の
導入に伴って、さらに新しいDBMSが導入される場面
が多くなっている。2. Description of the Related Art At present, a computer system of a company has many database management systems (DBMS). These DBMSs have been historically added for different purposes with the development of companies. At present, deregulation among industries is progressing rapidly, and with this, each company tends to add new businesses. At this time, with the introduction of a new business, there are many cases where a new DBMS is introduced.
【0003】一方、規制緩和に伴い、各企業は他企業に
ない新たなサービスなどにより顧客によりよいサービス
を提供し、その結果優良な顧客をより多く獲得しようと
試みている。この際、DBMS群に蓄積された過去の企
業活動、顧客動向などを分析する必要性が高まり、デー
タウェアハウスやデータマートの構築を行う企業が非常
に多くなっている。On the other hand, with the deregulation, each company is trying to provide better services to customers with new services not provided by other companies, and as a result, to acquire more excellent customers. At this time, the need to analyze past corporate activities, customer trends, and the like accumulated in the DBMS group has increased, and the number of companies that build data warehouses and data marts has increased.
【0004】データウェアハウスやデータマートの構築
には、先に述べた多数のDBMSに蓄積されたデータ
を、ひとつの論理的に統合されたデータベースとするこ
とが必要となる。また、データウェアハウスやデータマ
ートのような分析処理のベースとなるデータベースを構
築する以外にも、新規業務を迅速に立ち上げる目的で、
従来のDBMS群を論理的に統合することが、企業の競
争力を高める目的で行われている。論理的に統合したデ
ータベースをベースとすることにより、新規業務のため
の応用プログラム(アプリケーション)構築の高速化を
図ることが可能となるためである。To build a data warehouse or a data mart, it is necessary to convert the data stored in a large number of DBMSs into one logically integrated database. In addition to building a database that is the basis for analytical processing such as data warehouses and data marts, in order to quickly launch new businesses,
2. Description of the Related Art Logical integration of conventional DBMS groups is performed for the purpose of increasing the competitiveness of a company. This is because, based on a logically integrated database, it is possible to speed up the construction of an application program (application) for a new business.
【0005】DBMS群を論理的に統合する方法とし
て、DBMS群とアプリケーション群の間に、DBMS
群への統一的なアクセスを提供する「データベースハ
ブ」のシステムを置く方法がある。データベースハブ
は、アプリケーションからの問合せ(典型的には、St
ructured Query Language(S
QL)言語で記述された問合せ)を受けつけ、その問合
せをDBMS群への問合せへ分解・変換する。そしてデ
ータベースハブは、分解・変換した問合せをDBMS群
に発行し、DBMS群から問合せ結果を作成するための
データを収集し、アプリケーションの問合せに対する最
終的な結果を得て、アプリケーションにその結果を返
す。[0005] As a method of logically integrating the DBMS group, a DBMS is provided between the DBMS group and the application group.
There is a way to set up a "database hub" system that provides unified access to the herd. The database hub queries the application (typically St
structured Query Language (S
(QL) language, and the query is decomposed and converted into a query for a DBMS group. Then, the database hub issues the decomposed and converted query to the DBMS group, collects data for creating a query result from the DBMS group, obtains a final result for the application query, and returns the result to the application. .
【0006】このようなデータベースハブには、多種多
様なアプリケーションの問合せが発行される。このよう
な問合せ群は、分析系業務で発行する実行時間の長い複
雑な問合せから定型業務で発行する実行時間の短い単純
な問合せまで、多種多様である。[0006] Inquiries about various applications are issued to such a database hub. Such a group of queries is diverse from a complex query with a long execution time issued in an analysis system task to a simple query with a short execution time issued in a routine task.
【0007】分析系業務で発行される問合せは複雑なた
め、ユーザが予測する以上に実行時間が長い問合せ(長
時間実行問合せ)が発行されてしまう場合がある。ま
た、タイプミス等で意図せず長時間実行問合せを発行し
てしまうこともある。[0009] Since the query issued in the analysis-related work is complicated, a query having a longer execution time than the user predicts (a long-running query) may be issued. In addition, a long-running query may be issued unintentionally due to a typo or the like.
【0008】このような長時間実行問合せは、データベ
ースハブまたはDBMSなどのデータ処理システムのス
ループットの低下を招く。なぜなら、長時間実行問合せ
はCPUやメモリなどの計算機資源を長く使用するた
め、他の問合せ実行を妨げてしまう。また、ユーザが問
合せ結果を必要とする時までに処理が終了しないため、
業務に支障をきたす可能性がある。このため、データ処
理システムを効率よく運営するために、長時間実行問合
せを抑止する機能が必要となる。[0008] Such a long-running query causes a decrease in the throughput of a data processing system such as a database hub or a DBMS. Because a long-running query uses computer resources such as a CPU and a memory for a long time, it prevents other queries from being executed. Also, since the process is not completed by the time the user needs the query result,
There is a possibility that the business will be hindered. For this reason, in order to operate the data processing system efficiently, a function for suppressing a long-running query is required.
【0009】長時間実行問合せの実行を抑止するため
に、従来技術では問合せ処理を実行するために必要とさ
れるCPU時間や二次記憶装置へのI/O回数などのコ
ストを予測し、該コストを問合せ実行の可否判定の基準
としている。文献「DB2 Universal Dat
abase for OS/390 Release Pl
anning Guide Version6」(pp.
67−pp.79、IBM社1999年6月;以下文献
1と称す)に記載されているシステム(以下公知例1と
称す)がこれにあたる。In order to suppress the execution of a long-running query, the prior art predicts costs such as the CPU time and the number of I / Os to the secondary storage device required for executing the query processing. The cost is used as a criterion for determining whether the query can be executed. Document "DB2 Universal Dat
base for OS / 390 Release Pl
anning Guide Version 6 "(pp. 10-26).
67-pp. 79, IBM Corporation, June 1999; hereinafter referred to as Document 1) (hereinafter referred to as Known Example 1).
【0010】[0010]
【発明が解決しようとする課題】問合せ処理コストは実
行時間を反映しているが、実行時間そのものではない。
同じ処理コストでも、使用できる計算機資源や実行時の
計算機負荷によって実行時間は異なる。そのため、コス
トを基準とした実行可否判定では、実際に長時間実行問
合せでない問合せの実行を抑止してしまうこともある。
逆に、長時間実行問合せであるにもかかわらず該問合せ
の実行を抑止できないこともある。このため、実行時間
を基準として実行可否判定を行う必要がある。The query processing cost reflects the execution time, but not the execution time itself.
Even with the same processing cost, the execution time differs depending on the available computer resources and the computer load at the time of execution. Therefore, in the execution possibility determination based on the cost, execution of a query that is not a long-running query may be actually suppressed.
Conversely, execution of the query may not be suppressed even though the query is a long-running query. For this reason, it is necessary to determine whether execution is possible based on the execution time.
【0011】即ち、本発明が解決しようとする第1の課
題は、実行時間を基準とした実行可否判定を行い長時間
実行問合せの実行を抑止することである。That is, a first problem to be solved by the present invention is to judge whether execution is possible based on the execution time and to suppress the execution of a long-running query.
【0012】また、実行前の問合せ処理の実行時間予測
には誤差が含まれる場合があるため、誤って長時間実行
問合せが実行される可能性もある。このため、実行中の
問合せに関しても長時間実行を行っている問合せを停止
する必要が出てくる。In addition, since the execution time prediction of the query processing before execution may include an error, a long-running query may be erroneously executed. For this reason, it is necessary to stop a query that is being executed for a long time, even for a query that is being executed.
【0013】即ち、本発明が解決しようとする第2の課
題は、実行中の長時間実行問合せの実行を抑止すること
である。That is, a second problem to be solved by the present invention is to suppress the execution of a long-running query during execution.
【0014】データベースハブの場合、アプリケーショ
ンから発行される問合せ(第1の問合せ)を処理する際
に、DBMSに問合せ(第2の問合せ)を発行する。該
DBMSはデータベースハブ以外から発行される問合せ
も処理しているため、第2の問合せがデータベースハブ
以外から発行される問合せ処理の妨げにならないほうが
望ましい。該DBMSはデータベースハブとは独立に管
理されるのが普通なので、該DBMSで他の問合せ処理
の妨げになる第2の問合せを抑止することは困難であ
る。このため、データベースハブで該DBMSの問合せ
処理の妨げになる第2の問合せの発行を抑止する必要が
ある。In the case of a database hub, when processing a query (first query) issued from an application, a query (second query) is issued to the DBMS. Since the DBMS also processes queries issued from sources other than the database hub, it is desirable that the second query does not hinder the processing of queries issued from sources other than the database hub. Since the DBMS is usually managed independently of the database hub, it is difficult for the DBMS to suppress a second query that hinders other query processing. For this reason, it is necessary to suppress the database hub from issuing the second query that hinders the query processing of the DBMS.
【0015】即ち、本発明が解決しようとする第3の課
題は、DBMSの問合せ処理を妨げる問合せの発行をデ
ータベースハブで抑止することである。[0015] That is, a third problem to be solved by the present invention is to suppress the issuance of a query that hinders the query processing of the DBMS by the database hub.
【0016】問合せ実行の実行時間を予測する際、正確
な実行プランを生成する必要がある。データベースハブ
の場合には、DBMSでの実行プランを指定できない。
このため、データベースハブはDBMSでの実行プラン
の予測を行う。When estimating the execution time of query execution, it is necessary to generate an accurate execution plan. In the case of a database hub, an execution plan in DBMS cannot be specified.
For this reason, the database hub predicts the execution plan in the DBMS.
【0017】即ち、本発明が解決しようとする第4の課
題は、データベースハブでDBMSで処理される正確な
実行プランを取得することである。That is, a fourth problem to be solved by the present invention is to obtain an accurate execution plan processed by the DBMS at the database hub.
【0018】以上4つの課題を解決することにより、分
析系業務におけるデータベースハブおよびDBMSの効
率のよい運営を可能とすることが本発明の目的である。It is an object of the present invention to enable efficient operation of a database hub and a DBMS in an analysis business by solving the above four problems.
【0019】[0019]
【課題を解決するための手段】第1の課題に対する解決
手段として、本発明では、データベースハブ(またはD
BMS)に、実行時間予測を導入する。実行時間予測
は、アプリケーションから発行された問合せより実行時
間を予測する方法である。初めに、問合せの実行プラン
から問合せ処理に必要なコストを計算する。該コストか
ら問合せ処理を実行する計算機性能と計算機負荷を用い
て、該コストより実行時間を予測する。予測した実行時
間(予測実行時間)を基準に実行可否判定を行う。これ
により、実行時間を基準とした実行可否判定を行い長時
間実行問合せの実行を抑止する第1の課題が解決され
た。As a means for solving the first problem, the present invention provides a database hub (or D).
In BMS), an execution time prediction is introduced. The execution time prediction is a method of predicting the execution time from a query issued from an application. First, the cost required for query processing is calculated from the query execution plan. The execution time is predicted from the cost using the computer performance and the computer load for executing the query processing from the cost. Execution feasibility is determined based on the predicted execution time (predicted execution time). This solves the first problem of determining whether execution is possible based on the execution time and suppressing the execution of a long-running query.
【0020】第2の課題に対する解決手段として、本発
明では、データベースハブ(またはDBMS)に、実行
時間予測修正を導入する。実行時間予測修正は、実行中
の問合せ処理の経過情報を用いて実行前に予測実行時間
を修正する方法である。例えば、ある処理までの実行時
間が該処理までの予測実行時間の1.5倍であった場
合、問合せ処理全体の予測実行時間を1.5倍にすると
いった修正である。修正された予測実行時間を基準に実
行中の問合せの実行可否判定を行う。これにより、実行
中の長時間実行問合せの実行を抑止する第2の課題が解
決された。As a means for solving the second problem, in the present invention, correction of execution time prediction is introduced into a database hub (or DBMS). The execution time prediction correction is a method of correcting the predicted execution time before execution using the progress information of the query process being executed. For example, when the execution time up to a certain process is 1.5 times the predicted execution time up to the process, the correction is made such that the predicted execution time of the entire query process is 1.5 times. It is determined whether or not the query being executed is executable based on the corrected predicted execution time. This solves the second problem of suppressing the execution of a long-running query during execution.
【0021】第3の課題に対する解決手段として、本発
明では、データベースハブがDBMSに発行する問合せ
に対する実行可否判定基準を設定できることを可能に
し、データベースハブの実行可否判定においてDBMS
に発行される問合せでも実行可否判定を行う。これによ
り、DBMSの問合せ処理を妨げる問合せの発行をデー
タベースハブで抑止する第3の課題が解決された。As a means for solving the third problem, according to the present invention, it is possible to set a criterion for determining whether a database hub can execute an inquiry issued to a DBMS.
The execution permission / non-permission judgment is also performed for the query issued to the user. This solves the third problem of suppressing the issuance of a query that hinders the query processing of the DBMS by the database hub.
【0022】第4の課題に対する解決手段として、本発
明では、データベースハブにおいて、DBMSから得ら
れる実行プランを用いて実行プランを修正する実行プラ
ン修正を導入する。問合せから実行プラン生成後、DB
MSでの実行プランを取得し、データベースハブでの実
行プランに修正を加える。またDBMSでの実行プラン
取得時にコストも取得できる場合、該コストを利用す
る。これにより、データベースハブでDBMSで処理さ
れる正確な実行プランを取得する第4の課題が解決され
た。As a means for solving the fourth problem, the present invention introduces an execution plan modification for modifying an execution plan using an execution plan obtained from a DBMS in a database hub. After generating an execution plan from a query, DB
Obtain the execution plan on the MS and modify the execution plan on the database hub. If a cost can also be acquired when acquiring an execution plan in the DBMS, the cost is used. This has solved the fourth problem of obtaining an accurate execution plan processed by the DBMS at the database hub.
【0023】[0023]
【発明の実施の形態】本発明の実施の一形態を、図面を
参照しながら説明する。DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS One embodiment of the present invention will be described with reference to the drawings.
【0024】全体構成 図1を用いて、本発明の実施の一形態(第1の実施例)
の全体構成を説明する。Overall Configuration One embodiment (first embodiment) of the present invention will be described with reference to FIG.
Will be described.
【0025】図1は第1の実施例が好適に用いられるコ
ンピュータシステムである。第1の実施例の全体は、1
つ以上のコンピュータ(データ処理システム100、1
つ以上のクライアントコンピュータ101、101’、
…、管理用コンピュータ102、1つ以上のDBサーバ
105、105’、…)がクライアント側ネットワーク
103およびサーバ側ネットワーク104で相互に接続
されたコンピュータシステムである。FIG. 1 shows a computer system in which the first embodiment is preferably used. The entire first embodiment is 1
One or more computers (data processing systems 100, 1
One or more client computers 101, 101 ',
.., A management computer 102 and one or more DB servers 105, 105 ′,...) Are mutually connected by a client-side network 103 and a server-side network 104.
【0026】クライアント側ネットワーク103および
サーバ側ネットワーク104のいずれも、ある団体(企
業や学校や類似の団体)の全体や一部門でよく使用され
るLANでもよく、また地理的に分散した複数の地点を
結合するWANの一部または全部でもよい。またこれら
のネットワークは、計算機間結合網や並列計算機内部の
プロセッサ要素間の結合網でもよい。また、クライアン
ト側ネットワーク103とサーバ側ネットワーク104
が同一のネットワークであっても差し支えない。Each of the client-side network 103 and the server-side network 104 may be a LAN often used by a certain organization (company, school, or similar organization) or in one department, or may be a plurality of geographically dispersed points. May be part or all of the WAN that connects Further, these networks may be a connection network between computers or a connection network between processor elements inside a parallel computer. Further, the client side network 103 and the server side network 104
May be the same network.
【0027】データ処理システム100、クライアント
コンピュータ101、101’、…、管理用コンピュー
タ102、DBサーバ105、105’、…はいずれ
も、パーソナルコンピュータ、ワークステーション、並
列計算機、大型計算機、小型携帯型コンピュータ等、任
意のコンピュータでよい。また、図1ではデータ処理シ
ステム100、クライアントコンピュータ101、10
1’、…、管理用コンピュータ102、DBサーバ10
5、105’、…をそれぞれ独立したコンピュータとし
て図示しているが、これらのうち任意の組み合わせが、
1つのコンピュータであっても差し支えない。また、図
1に示したデータ処理システム100、クライアントコ
ンピュータ101、101’、…、管理用コンピュータ
102、DBサーバ105、105’、…の数と構成は
例として示したもので、本発明の範囲を限定するもので
はない。The data processing system 100, client computers 101, 101 ', ..., management computer 102, DB servers 105, 105', ... are all personal computers, workstations, parallel computers, large computers, small portable computers. Any computer may be used. In FIG. 1, the data processing system 100, the client computers 101, 10
1 ′,..., Management computer 102, DB server 10
5, 105 ′,... Are shown as independent computers.
One computer is acceptable. The numbers and configurations of the data processing system 100, the client computers 101, 101 ',..., The management computer 102, and the DB servers 105, 105',... Shown in FIG. Is not limited.
【0028】クライアントコンピュータ101、10
1’、…では、ユーザの処理を行うプログラムであるア
プリケーション110、110’、…が動作する。アプ
リケーション110、110’、…は、データベースに
対する参照または更新を行うために問合せ(例えばSt
ructured Query Language(SQ
L)言語のような問合せ言語で記述された問合せ)を発
行する。Client computers 101, 10
At 1 ′,..., Applications 110, 110 ′,. The application 110, 110 ′,... Queries (eg, St.
structured Query Language (SQ
L) a query described in a query language such as a language).
【0029】DBサーバ105、105’、…では、1
つ以上のデータベースを管理しているDBMS112、
112’、…が動作している。DBMS112、11
2’、…は、管理しているデータベースを二次記憶装置
106、106’、…上に保持しており、他のプログラ
ムの問合せに応じてデータベースに対する参照または更
新を行う。データベースは、データを1つ上のカラムか
ら成る1つ以上のレコードから成る1つ以上の表から構
成されるリレーショナルデータベースで差し支えない
し、他の形式のデータベース(ネットワーク型データベ
ースや階層型データベース、オブジェクト指向データベ
ース、オブジェクトストレージ)やファイルシステムで
も差し支えない。In the DB servers 105, 105 ',...
A DBMS 112 that manages one or more databases,
112 ', ... are operating. DBMS 112, 11
2 ′,... Hold the managed database on the secondary storage devices 106, 106 ′,... And refer to or update the database in response to an inquiry from another program. A database can be a relational database consisting of one or more tables of one or more records consisting of one column above the data, and can be other types of databases (network-based, hierarchical, object-oriented, etc.). (Database, object storage) or file system.
【0030】管理用コンピュータ102では、管理用ア
プリケーション111が動作している。管理用アプリケ
ーション111はデータ処理システム100の管理を行
うプログラムであり、データ処理システム100または
図1のシステム全体の管理者が利用する。In the management computer 102, a management application 111 is running. The management application 111 is a program for managing the data processing system 100, and is used by an administrator of the data processing system 100 or the entire system of FIG.
【0031】データ処理システム100はクライアント
コンピュータ101、101’、…の発行する第1の問
合せを受け付け、必要に応じDBサーバ105、10
5’、…への1つ以上の第2の問合せを作成し発行し、
第1の問合せが指定した参照または更新を行い、結果の
データを第1の問合せの発行元に返す。即ち、データ処
理システム100は、DBサーバ105、105’、…
の保持するデータベース群への統一的なアクセスを実現
し、クライアントコンピュータ101、101’、…へ
統合されたデータベースを提供するデータベースハブで
ある。The data processing system 100 receives the first inquiry issued by the client computers 101, 101 ',.
Create and issue one or more second queries to 5 ′,.
The reference or update specified by the first query is performed, and the resulting data is returned to the issuer of the first query. That is, the data processing system 100 includes the DB servers 105, 105 ',.
Is a database hub that realizes unified access to the database group held by the client computers 101 and provides an integrated database to the client computers 101, 101 ′,.
【0032】入出力処理部120、問合せ解析・最適化
部121、実行プラン修正部122、実行時間予測部1
23、実行可否判定部124、127、実行制御部12
5、実行時間予測修正部126、DBMS情報取得部1
28、実行可否判定管理部129は、データ処理システ
ム100を構成する構成要素である。各構成要素の詳細
な説明は後で述べることにし、ここでは概略を説明する
のに留める。Input / output processing unit 120, query analysis / optimization unit 121, execution plan modification unit 122, execution time prediction unit 1
23, execution possibility determination units 124 and 127, execution control unit 12
5. Execution time prediction correction unit 126, DBMS information acquisition unit 1
28, the execution availability determination management unit 129 is a constituent element of the data processing system 100. A detailed description of each component will be described later, and will be described only briefly here.
【0033】入出力処理部120は、クライアントコン
ピュータ101、101’、…から問合せ要求を受け付
け、管理用コンピュータ102から管理要求を受けつ
け、これらの問合せの返答を行う。The input / output processing unit 120 receives inquiry requests from the client computers 101, 101 ',..., Receives management requests from the management computer 102, and replies to these queries.
【0034】問合せ解析・最適化部121は、入力処理
部120では受け付けた問合せに対し問合せ解析と問合
せ最適化を行い、実行プランを作成する。The query analysis / optimization unit 121 performs query analysis and query optimization on the query received by the input processing unit 120, and creates an execution plan.
【0035】実行プラン修正部122は、問合せ解析・
最適化部121で生成された実行プランに対し、DBM
Sから得られた実行プランを用い修正を加える。The execution plan correction unit 122 performs query analysis /
The execution plan generated by the optimization unit 121 is
A correction is made using the execution plan obtained from S.
【0036】実行時間予測部123は、実行プラン修正
部122で作成された実行プランを用い実行時間を予測
する。The execution time prediction unit 123 predicts the execution time using the execution plan created by the execution plan correction unit 122.
【0037】実行可否判定部124、127は、実行時
間予測部123及び実行時間予測修正部126で予測さ
れた実行時間と実行可否判定基準制御部129から得ら
れた実行可否判定基準とを比較し、問合せ実行の可否を
判定する。The execution possibility determination units 124 and 127 compare the execution time predicted by the execution time prediction unit 123 and the execution time prediction correction unit 126 with the execution availability determination criterion obtained from the execution availability determination criterion control unit 129. Then, it is determined whether the query can be executed.
【0038】実行制御部125は、実行プランに基づき
問合せを処理をし、問合せへの結果を作成する。The execution control unit 125 processes the query based on the execution plan and creates a result for the query.
【0039】実行時間予測修正部126は、実行制御部
125から実行中の問合せの経過情報を用いて予測実行
時間を修正する。The execution time prediction correcting section 126 corrects the predicted execution time using the progress information of the query being executed from the execution control section 125.
【0040】DBMS情報取得部128は、DBMSの
各種情報を管理しており、実行プラン修正部122及び
実行時間予測部123の要求に対しDBMSの種類に応
じた情報取得問合せを発行する。The DBMS information acquisition unit 128 manages various information of the DBMS, and issues an information acquisition inquiry corresponding to the type of the DBMS in response to a request from the execution plan correction unit 122 and the execution time prediction unit 123.
【0041】実行可否判定管理部129は、実行可否判
定部124、127で用いる実行可否判定基準を管理す
る。The executability judging management section 129 manages the executability judging criteria used by the executability judging sections 124 and 127.
【0042】以上が第1の実施例の全体構成である。The above is the overall configuration of the first embodiment.
【0043】DBMS112、112’、…の役割を兼
ねたデータ処理システムの実施例は、実行プラン修正部
122とDBMS情報取得部128を取り除いた構成で
ある。また、以降説明するデータ処理システムで行う処
理も第1の実施例と本質的に同じなため、DBMS11
2、112’、…の役割を兼ねたデータ処理システムの
実施例の詳しい説明は省略する。The embodiment of the data processing system also serving as the DBMS 112, 112 ',... Has a configuration in which the execution plan correction unit 122 and the DBMS information acquisition unit 128 are removed. Also, the processing performed by the data processing system described below is essentially the same as that of the first embodiment.
The detailed description of the embodiment of the data processing system serving also as 2, 112 ',... Is omitted.
【0044】データ処理システムで行う処理 データ処理システム100で行う処理は、問合せ処理、
実行可否判定基準設定処理がある。Processing Performed by Data Processing System Processing performed by the data processing system 100 includes inquiry processing,
There is an executability determination criterion setting process.
【0045】問合せ処理の流れ 図1を用いてデータ処理システムの問合せ処理の流れを
説明する。Inquiry Processing Flow The inquiry processing flow of the data processing system will be described with reference to FIG.
【0046】アプリケーション110が発行した第1の
問合せは、クライアント側ネットワークを経由して入出
力処理部120に到達する(130)。The first inquiry issued by the application 110 reaches the input / output processing unit 120 via the client side network (130).
【0047】入出力処理部120では、アプリケーショ
ン110の要求が問合せであることを認識すると、第1
問合せを問合せ解析・最適化部121に渡す(13
1)。When the input / output processing unit 120 recognizes that the request of the application 110 is an inquiry, the first
Pass the query to the query analysis / optimization unit 121 (13
1).
【0048】問合せ解析・最適化部121では、第1の
問合せに対し問合せ解析と問合せ最適化を行い第1の実
行プランを作成し、実行プラン修正部122に第1の実
行プランを渡す(132)。問合せ解析では、第1の問
合せに対し字句解析、構文解析、意味解析を行い、第1
の問合せの第1の解析木を生成する。問合せ最適化で
は、問合せ解析で生成された第1の解析木から第1の実
行プランを作成する。問合せ最適化にはルールベース最
適化とコストベース最適化があるが、データ処理システ
ム100ではどちらを用いても差し支えない。問合せ解
析と問合せ最適化で行われる動作は、コンパイラ、デー
タベース管理システムで用いられている技術なので、こ
こではこれ以上詳細には述べない。The query analysis / optimization unit 121 performs query analysis and query optimization on the first query to create a first execution plan, and passes the first execution plan to the execution plan correction unit 122 (132). ). In the query analysis, lexical analysis, syntax analysis, and semantic analysis are performed on the first query.
Generates a first parse tree of the query of In the query optimization, a first execution plan is created from a first parse tree generated by query analysis. The query optimization includes a rule-based optimization and a cost-based optimization. In the data processing system 100, either may be used. The operations performed in query analysis and query optimization are techniques used in compilers and database management systems, and will not be described in further detail here.
【0049】図3で示したデータ構造が生成される実行
プランの一例である。実行プランは木構造になってお
り、各ノード311、312、313、314、31
5、316、317はノード内データ構造300と同じ
構成をしている。ノードID301は、実行プラン内で
一意な識別子である。例えば、実行プランのノードごと
に連続した整数を用いてもよいし、ノードのデータがあ
るアドレスを用いてもよい。操作内容302は、ノード
で行われる操作内容を示している。例えば、「join
−at−DBMS1」は「DBMS1でジョインを行う」
ことを示しており、「access−DBMS1.T3」
は「DBMS1の表T3を参照する」ことを示しており、
「database−hub−join」は「データ処理
システム100でジョインする」ことを示している。予
測結果行数303は、操作内容302の結果行数の予測
値である。予測結果行数303が−1の場合、予測結果
行数303が計算されていないことを示す。予測コスト
304は、ノード以下の部分木を処理するのに必要なコ
ストを示す。コストにはCPU時間、CPUステップ
数、I/O回数などが用いられる。予測コスト304の
値が−1の場合、予測コスト304が計算されていない
ことを示す。予測実行時間305は、ノード以下の部分
木を処理するのに必要な実行時間を示す。予測実行時間
305が−1の場合、予測実行時間305が計算されて
いないことを示す。This is an example of an execution plan in which the data structure shown in FIG. 3 is generated. The execution plan has a tree structure, and each node 311, 312, 313, 314, 31
5, 316, and 317 have the same configuration as the intra-node data structure 300. The node ID 301 is a unique identifier within the execution plan. For example, a continuous integer may be used for each node of the execution plan, or an address having data of the node may be used. The operation content 302 indicates the operation content performed in the node. For example, "join
-At-DBMS1 "is" Join with DBMS1 "
"Access-DBMS1.T3"
Indicates that "refer to table T3 of DBMS1".
“Database-hub-join” indicates that “join with the data processing system 100”. The number of predicted result rows 303 is a predicted value of the number of result rows of the operation content 302. When the number of predicted result rows 303 is −1, it indicates that the number of predicted result rows 303 has not been calculated. The predicted cost 304 indicates the cost required to process the subtree below the node. CPU time, the number of CPU steps, the number of I / Os, and the like are used for the cost. When the value of the prediction cost 304 is −1, it indicates that the prediction cost 304 has not been calculated. The predicted execution time 305 indicates the execution time required to process the subtree below the node. If the predicted execution time 305 is -1, it indicates that the predicted execution time 305 has not been calculated.
【0050】実行プラン修正部122では、DBMSか
ら得られる実行プランの情報を用いて第1の実行プラン
に修正を加え、第2の実行プランを生成し、実行時間予
測部123に第2の実行プランを渡す(133)。実行
プランを修正する動作は、実行プラン修正処理の流れで
詳しく説明する。The execution plan modification unit 122 modifies the first execution plan using the information on the execution plan obtained from the DBMS, generates a second execution plan, and causes the execution time prediction unit 123 to execute the second execution plan. Hand the plan (133). The operation of modifying the execution plan will be described in detail in the flow of the execution plan modification process.
【0051】実行時間予測部123は、実行プラン修正
部122から受け取った第2の実行プランを用い実行時
間を予測し、予測された実行時間(第1の予測実行時
間)を第2の実行プランのノードの予測時間305に設
定し、第2の実行プランを実行可否判定部124に渡す
(134)。実行プランから実行時間を計算する動作は
実行時間予測処理の流れで詳しく説明する。The execution time prediction unit 123 predicts an execution time using the second execution plan received from the execution plan correction unit 122, and uses the predicted execution time (first predicted execution time) as a second execution plan. Is set to the predicted time 305 of the node, and the second execution plan is passed to the execution possibility determination unit 124 (134). The operation of calculating the execution time from the execution plan will be described in detail in the flow of the execution time prediction process.
【0052】実行可否判定部124は、実行時間予測部
123で予測された第1の予測実行時間を基準にして第
1の問合せの実行可否を判定し、実行可であれば実行制
御部125に第2の実行プランを渡し(135)、実行
不可であれば第1の問合せの結果としてエラーを入出力
処理部120に返す(160)。実行可否判定の詳細に
ついては実行可否判定処理の流れで説明する。The execution availability determination unit 124 determines the availability of the first query based on the first predicted execution time predicted by the execution time prediction unit 123, and if the execution is possible, the execution control unit 125 The second execution plan is passed (135), and if execution is not possible, an error is returned to the input / output processing unit 120 as a result of the first query (160). The details of the execution possibility determination will be described in the flow of the execution possibility determination process.
【0053】実行制御部125は、第2の問合せ処理動
作に基づき第1の問合せを処理し、その結果を入出力処
理部120に返す。第2の問合せ処理動作に従いDBM
S112、112’、…に第2の問合せをサーバ側ネッ
トワーク104を介して発行し(136)、第2の問合
せの結果を取得する(137)。加工が必要であれば第
2の問合せの結果を加工し、第1の問合せの結果を作成
する。作成された第1の問合せの結果を入出力処理部1
20に返す(138)。第1の問合せ処理実行時に実行
時間予測修正及び実行可否判定処理を行い、実行不可と
判定された場合処理を中止し、第1の問合せの結果とし
てエラーを入出力処理部120に返す(174)。実行
時間予測修正及び実行可否判定処理の動作については、
実行時間予測修正及び実行可否判定処理の流れで詳しく
述べる。実行時間予測修正及び実行可否判定処理を行う
タイミングはいつでもよい。例えば、「30分毎に実行
しているすべての問合せに対して行う」のようにデータ
処理システム100全体への指定でもよいし、問合せ処
理動作の中に「DBMS112への問合せの後に実行時
間予測修正及び実行可否判定処理を行う」のように問合
せ毎に指定を行ってもよい。The execution controller 125 processes the first query based on the second query processing operation, and returns the result to the input / output processor 120. DBM according to the second query processing operation
In S112, 112 ',..., A second inquiry is issued via the server-side network 104 (136), and the result of the second inquiry is obtained (137). If processing is required, the result of the second query is processed to create the result of the first query. Input / output processing unit 1
Return to 20 (138). At the time of execution of the first inquiry processing, execution time prediction correction and execution feasibility determination processing are performed. If it is determined that execution is not possible, the processing is stopped, and an error is returned to the input / output processing unit 120 as a result of the first inquiry (174). . For the operation of the execution time prediction correction and the execution feasibility determination process,
The details of the execution time prediction correction and execution availability determination processing will be described in detail. The timing for performing the execution time prediction correction and the execution availability determination processing may be any time. For example, a specification for the entire data processing system 100 may be made, such as "perform for all queries executed every 30 minutes", or "execution time prediction after query to DBMS 112" may be included in the query processing operation. Perform correction and execution feasibility determination process "for each inquiry.
【0054】入出力処理部120は、第1の問合せの結
果を実行可否判定部124または実行制御部125から
うけとり、第1の問合せを発行したアプリケーション1
10に第1の問合せの結果をクライアント側ネットワー
ク103を介して返す(138)。The input / output processing unit 120 receives the result of the first query from the execution possibility determination unit 124 or the execution control unit 125, and receives the result of the first query from the application 1 that issued the first query.
10, the result of the first inquiry is returned via the client-side network 103 (138).
【0055】以上が問合せ処理の流れである。The above is the flow of the inquiry process.
【0056】実行プラン修正処理の流れ 実行プラン修正処理の流れを図2と図1を用いて説明す
る。Flow of Execution Plan Correction Process The flow of the execution plan correction process will be described with reference to FIGS.
【0057】ステップ200では、問合せ解析・最適化
部121から受け取った第1の実行プラン(予測実行プ
ラン)から各DBMSに発行する第2の問合せ群を生成
する。In step 200, a second query group to be issued to each DBMS is generated from the first execution plan (predicted execution plan) received from the query analysis / optimization unit 121.
【0058】ステップ201では、DBMS情報取得部
128を介して、第2の問合せ群からDBMSの実行プ
ラン(取得実行プラン)を受け取る。In step 201, a DBMS execution plan (acquisition execution plan) is received from the second inquiry group via the DBMS information acquisition unit 128.
【0059】DBMS情報取得部128では、実行プラ
ン修正部122から問合せ群を受け取り(140)、実
行プランを取得する問合せをDBMSに応じ発行する
(141)。実行プランを取得する問合せには、例えば
DB2/OS390の場合EXPLAIN文を用いるこ
とができる。各DBMSから結果を受け取ると(14
2)、データ処理システム100で用いている実行プラ
ンのデータ構造にし、実行プラン修正部122に返す
(143)。The DBMS information acquisition unit 128 receives a query group from the execution plan modification unit 122 (140), and issues a query for acquiring the execution plan according to the DBMS (141). For the query for acquiring the execution plan, for example, in the case of DB2 / OS390, an EXPLAIN statement can be used. When the result is received from each DBMS (14
2), the data structure of the execution plan used in the data processing system 100 is returned to the execution plan correction unit 122 (143).
【0060】ステップ203では、取得実行プランを受
け取ると、修正する対象となる予測実行プランの中の各
DBMSで処理される部分木を列挙する。In step 203, when the acquisition execution plan is received, the subtrees to be processed by each DBMS in the prediction execution plan to be corrected are listed.
【0061】ステップ204では、ステップ203で列
挙された全ての部分木が対応する取得実行プランと比較
されているか判定する。全ての部分木が比較されていな
い場合(N)、ステップ205に進む。全ての部分木が
比較されている場合(Y)、実行プラン修正処理を終了
する。In step 204, it is determined whether all the subtrees listed in step 203 have been compared with the corresponding acquisition execution plans. If all subtrees have not been compared (N), the process proceeds to step 205. If all the subtrees have been compared (Y), the execution plan modification process ends.
【0062】ステップ205では、取得実行プラン中に
コストまたは結果行数が設定されている場合、予測実行
プランの対応するノードの予測結果行数303または予
測コスト304を設定する。In step 205, when the cost or the number of result rows is set in the acquisition execution plan, the prediction result row number 303 or the prediction cost 304 of the corresponding node of the prediction execution plan is set.
【0063】ステップ206では、取得実行プランと予
測実行プランの部分木を比較し、同じ実行プランかどう
かを判定する。同じ実行プランの場合(Y)、ステップ
204に戻る。実行プランが異なる場合(N)、ステッ
プ207に進む。At step 206, the subtrees of the acquisition execution plan and the prediction execution plan are compared to determine whether they are the same execution plan. In the case of the same execution plan (Y), the process returns to step 204. If the execution plans are different (N), the process proceeds to step 207.
【0064】ステップ207では、取得実行プランと同
じ実行プランになるように予測実行プランの部分木を修
正する。At step 207, the subtree of the predicted execution plan is modified so that it becomes the same execution plan as the acquisition execution plan.
【0065】実行プラン修正処理の一例を図3、図4、
図5に示す。図3の実行プランが修正前の予測実行プラ
ンで、図4がDBMS1から取得した取得実行プラン
で、図5が修正された予測実行プランである。ノード3
12以下の部分木が図4の取得実行プランに対応してい
るが、実行プランが異なるため図5では図4の実行プラ
ンと同じになるように修正されている。またDBMS1
の取得実行プランではコストも取得できているため、ノ
ード502の予測コストの値が設定されている。An example of the execution plan correction process is shown in FIGS.
As shown in FIG. The execution plan in FIG. 3 is the predicted execution plan before correction, FIG. 4 is the acquisition execution plan obtained from the DBMS 1, and FIG. 5 is the corrected prediction execution plan. Node 3
Although 12 or less subtrees correspond to the acquisition execution plan in FIG. 4, the execution plan is different, and therefore, in FIG. Also DBMS1
In the acquisition execution plan, the cost is also acquired, and thus the value of the predicted cost of the node 502 is set.
【0066】DBMSでの実行プランが修正された実行
プランは実行時間予測部123に渡される(133)。The execution plan obtained by modifying the execution plan in the DBMS is passed to the execution time prediction unit 123 (133).
【0067】以上が問合せ処理動作修正処理の流れであ
る。The above is the flow of the inquiry processing operation correction processing.
【0068】実行時間予測処理の流れ 実行時間予測処理の流れを図6と図1を用いて説明す
る。Flow of Execution Time Prediction Process The flow of the execution time prediction process will be described with reference to FIGS.
【0069】ステップ601では、実行時間予測部12
3はDBMS情報取得部128からDBMS統計情報お
よびDBMS性能情報700を取得する(144)。In step 601, the execution time prediction unit 12
3 acquires DBMS statistical information and DBMS performance information 700 from the DBMS information acquiring unit 128 (144).
【0070】DBMS統計情報には、DBMSで処理さ
れる実行プランの部分木のコストを計算するのに必要な
情報である。例えば、表の大きさ(表中のレコード
数)、カラム中の値の最大値、最小値、平均値、カラム
中の異なる値の数、カラム中の値の分布などがある。The DBMS statistical information is information necessary for calculating the cost of the subtree of the execution plan processed by the DBMS. For example, the size of the table (the number of records in the table), the maximum value, the minimum value, the average value of the values in the column, the number of different values in the column, the distribution of the values in the column, and the like.
【0071】DBMS性能情報700は図7の構成をし
ている。DBMS名701はDBMSを識別するデータ
処理システム100で一意な名前である。CPU数70
2は、DBMSが動作している計算機のCPUの数であ
る。MIPS値703は、DBMSが動作している計算
機のCPU1個が1秒間に処理できる命令数である。l
oad average704は、DBMSが動作して
いる計算機の単位時間当りの実行プロセス数である。The DBMS performance information 700 has the structure shown in FIG. The DBMS name 701 is a unique name in the data processing system 100 for identifying the DBMS. 70 CPUs
2 is the number of CPUs of the computer on which the DBMS operates. The MIPS value 703 is the number of instructions that can be processed per second by one CPU of the computer on which the DBMS operates. l
The load average 704 is the number of execution processes per unit time of the computer on which the DBMS operates.
【0072】ステップ602では、各DBMSで処理さ
れる実行プランの部分木を列挙する。In step 602, subtrees of the execution plan processed by each DBMS are listed.
【0073】ステップ603では、ステップ602で列
挙された全ての部分木の予測実行時間305が計算され
ているかを判定する。全ての部分木で予測実行時間30
5が計算されていなければ(N)、ステップ604に進
む。全ての部分木の予測実行時間305が計算されてい
れば(Y)、ステップ607に進む。In step 603, it is determined whether the predicted execution times 305 of all the subtrees listed in step 602 have been calculated. Predicted execution time 30 for all subtrees
If 5 has not been calculated (N), the process proceeds to step 604. If the predicted execution times 305 of all subtrees have been calculated (Y), the process proceeds to step 607.
【0074】ステップ604では、対象としている部分
木の予測コスト304が計算されているかを判定する。
予測コスト304が計算されていれば(Y)ステップ6
06に進み、計算されていなければ(N)ステップ60
5に進む。In step 604, it is determined whether the predicted cost 304 of the target subtree has been calculated.
If the predicted cost 304 has been calculated (Y) Step 6
06, if not calculated (N) Step 60
Go to 5.
【0075】ステップ605では、ステップ601で取
得したDBMS統計情報を用いて部分木の予測コスト3
04を求める。部分木の予測コスト304の計算方法
は、データベースの分野で古くから研究されており、こ
こでは詳しくは述べない。In step 605, the prediction cost of the subtree is calculated using the DBMS statistical information acquired in step 601.
04 is requested. The method of calculating the prediction cost 304 of the subtree has been studied for a long time in the field of databases, and will not be described in detail here.
【0076】ステップ606では、部分木の予測コスト
304からDBMS性能情報700を用いて予測実行時
間305を計算する。予測実行時間305は、関数Fを
用いて予測コスト304とDBMS性能情報700から
計算する。例えば、予測コスト304がCPUステップ
数で計算されている場合、予測実行時間305=F(予
測コスト304、DBMS性能情報700)=予測コス
ト304/{CPU数702*MIPS値703/lo
ad average704}と計算する。In step 606, a predicted execution time 305 is calculated from the predicted cost 304 of the subtree using the DBMS performance information 700. The predicted execution time 305 is calculated from the predicted cost 304 and the DBMS performance information 700 using the function F. For example, when the predicted cost 304 is calculated by the number of CPU steps, the predicted execution time 305 = F (predicted cost 304, DBMS performance information 700) = predicted cost 304 / {CPU number 702 * MIPS value 703 / lo
ad average 704}.
【0077】ステップ607では、部分木の予測実行時
間305から実行プランの実行時間305を求める。ま
ず、データ処理システム100で処理されるノードで構
成されている部分木のコストを求め、コストから実行時
間を計算する。データ処理システム100で処理される
ノードで構成されている部分木のコスト及び実行時間の
計算方法は、前述のDBMSで処理される部分木の予測
コスト304と予測実行時間305の計算方法と同じな
ので省略する。実行プランの予測実行時間305は、D
BMSで処理される部分木の予測実行時間305とデー
タ処理システム100で処理されるノードで構成される
部分木の計算された実行時間から計算する。例えば、D
BMSで処理される部分木の予測実行時間とデータ処理
システム100で処理されるノードで構成される部分木
の計算された実行時間の総和を実行プランの予測実行時
間305とする方法がある。また別の計算方法として、
DBMSで処理される部分木の予測実行時間の最大値と
データ処理システム100で処理されるノードで構成さ
れた部分木の計算された実行時間の和を実行プランの予
測実行時間とするものもある。At step 607, the execution time 305 of the execution plan is obtained from the predicted execution time 305 of the partial tree. First, the cost of a subtree composed of nodes processed by the data processing system 100 is determined, and the execution time is calculated from the cost. Since the calculation method of the cost and the execution time of the subtree composed of the nodes processed by the data processing system 100 is the same as the calculation method of the prediction cost 304 and the prediction execution time 305 of the subtree processed by the above-described DBMS. Omitted. The predicted execution time 305 of the execution plan is D
The calculation is performed from the predicted execution time 305 of the subtree processed by the BMS and the calculated execution time of the subtree composed of the nodes processed by the data processing system 100. For example, D
There is a method in which the sum of the predicted execution time of the subtree processed by the BMS and the calculated execution time of the subtree composed of the nodes processed by the data processing system 100 is used as the predicted execution time 305 of the execution plan. As another calculation method,
In some cases, the sum of the maximum value of the predicted execution time of the subtree processed by the DBMS and the calculated execution time of the subtree composed of nodes processed by the data processing system 100 is used as the predicted execution time of the execution plan. .
【0078】予測実行時間305が計算された実行プラ
ンは実行可否判定部124に渡される(134)。The execution plan for which the predicted execution time 305 has been calculated is passed to the execution possibility determination section 124 (134).
【0079】以上が実行時間予測処理の流れである。The above is the flow of the execution time prediction process.
【0080】実行可否判定処理の流れ 実行可否判定処理の流れを図8と図1を用いて説明す
る。Flow of Execution Applicability Determination Process The flow of the execution availability determination process will be described with reference to FIGS.
【0081】ステップ801では、実行可否判定部12
4が実行可否判定管理部129から実行可否判定基準9
00を受け取る(182)。In step 801, the execution availability determination unit 12
4 is an execution availability determination criterion 9 from the execution availability determination management unit 129.
00 is received (182).
【0082】実行可否判定基準900は図9の構成をし
ている。DBMS名901は、実行可否を判定する問合
せで問合せが発行されるDBMSを示す。例えば、DB
MSを識別するデータ処理システム100で一意な名前
や、データ処理システム100と全DBMSを示す
「*」である。ユーザ名902は、実行可否を判定する
問合せを発行するユーザを示す。例えば、データ処理シ
ステム100を利用するユーザアカウントや、全てのユ
ーザを示す「*」である。実行時間903は、DBMS
名901で指定されるDBMSに発行されるユーザ名9
02で指定されるユーザの問合せの実行可能な予測実行
時間305の最大値である。CPUステップ数904
は、DBMS名901で指定されるDBMSに発行され
るユーザ名902で指定されるユーザの問合せの実行可
能なCPUステップ数の最大値である。図9の実行可否
判定基準900の各行は上から順に、「データ処理シス
テム100に発行される全てのユーザの問合せは、実行
時間の基準では7、200秒以下、CPUステップ数の
基準では720、000Mステップ以下であること」、
「DBMS1に発行されるUSER1の問合せは、実行
時間の基準では1、200秒以下、CPUステップ数の
基準では480、000Mステップ以下であること」、
「DBMS1に発行される全ユーザの問合せは、実行時
間の基準では600秒以下、CPUステップ数の基準で
は240、000Mステップ以下であること」、「DB
MS2に発行される全ユーザの問合せは、実行時間の基
準では3、600秒以下、CPUステップ数の基準では
360、000Mステップ以下であること」を示してい
る。The executability judging criterion 900 has the structure shown in FIG. The DBMS name 901 indicates a DBMS to which a query is issued in response to a query for determining whether execution is possible. For example, DB
A name unique to the data processing system 100 for identifying the MS, or “*” indicating the data processing system 100 and all DBMSs. The user name 902 indicates a user who issues a query for determining whether or not execution is possible. For example, “*” indicating a user account using the data processing system 100 or all users. Execution time 903 is DBMS
User name 9 issued to the DBMS specified by the name 901
It is the maximum value of the estimated execution time 305 that can be executed by the user's inquiry designated by 02. Number of CPU steps 904
Is the maximum value of the number of CPU steps that can be executed by the user designated by the user name 902 issued to the DBMS designated by the DBMS name 901. Each line of the execution availability determination criterion 900 in FIG. 9 is, in order from the top, “all user inquiries issued to the data processing system 100 are 7,200 seconds or less based on the execution time, and 720 based on the number of CPU steps. 000M steps or less ",
"The USER1 query issued to the DBMS1 must be 1,200 seconds or less in terms of execution time and 480,000 M steps or less in terms of the number of CPU steps."
"The inquiries of all users issued to the DBMS 1 are 600 seconds or less based on the execution time and 240,000 M steps or less based on the number of CPU steps", "DB
The inquiry of all users issued to the MS 2 indicates that the execution time is 3,600 seconds or less and the CPU step number is 360,000 M steps or less.
【0083】ステップ802では、対象となる全ての実
行可否判定基準900で実行プランの実行可否を判定し
てるかを判定する。対象となる実行可否判定基準900
とは、ユーザ名902が問合せを発行したユーザ名と等
しい行か、もしくはユーザ名902が「*」である行の
DBMS名901がユーザ名902が問合せを発行した
ユーザ名と等しい行のDBMS名901と等しくない行
である。対象となる全ての実行可否判定基準900で実
行可否を判定していなければ(N)ステップ803に進
み、対象となる全ての実行可否判定基準900で実行可
否を判定していれば(Y)ステップ805に進む。In step 802, it is determined whether or not the execution of the execution plan has been determined based on all the target execution determination criteria 900. Target execution availability determination criteria 900
Is the row where the user name 902 is equal to the name of the user who issued the query, or the DBMS name 901 of the row where the user name 902 is "*" is the DBMS name 901 of the row where the user name 902 is equal to the name of the user who issued the query. Is not equal to If the execution is not judged by all target execution judgment criteria 900 (N), the process proceeds to step 803, and if the execution is judged by all target execution judgment 900, step (Y) is performed. Proceed to 805.
【0084】ステップ803では、一つの実行可否判定
基準に基づき実行プランの実行可否を判定する。実行プ
ランの実行可否を判定する基準は複数あるので、全ての
条件を満たした場合だけ実行可と判定してもよい。他に
も、複数ある基準のうち特定数の基準の条件を満たして
いる場合を実行可と判断してもよいし、特定の基準を満
たしている場合を実行可と判断してもよい。実行可と判
定された場合(Y)ステップ802に戻り、実行可と判
定されなかった場合(N)ステップ804に進む。In step 803, it is determined whether or not the execution plan can be executed based on one execution criterion. Since there are a plurality of criteria for determining whether the execution plan can be executed, it may be determined that the execution plan can be executed only when all the conditions are satisfied. In addition, a case where a condition of a specific number of criteria among a plurality of criteria is satisfied may be determined to be executable, and a case where a specific standard is satisfied may be determined to be executable. If it is determined that execution is possible (Y), the process returns to step 802, and if it is not determined that execution is possible (N), the process proceeds to step 804.
【0085】ステップ804では、実行プランを実行不
可と判定し、入出力処理部120に問合せの結果として
エラーを返す(160)。In step 804, it is determined that the execution plan cannot be executed, and an error is returned to the input / output processing unit 120 as a result of the inquiry (160).
【0086】ステップ805では、実行プランを実行可
と判定し、実行プランを実行制御部125に渡す(13
5)。At step 805, it is determined that the execution plan is executable, and the execution plan is passed to the execution control unit 125 (13).
5).
【0087】以上が実行可否判定処理の流れである。The above is the flow of the execution availability determination processing.
【0088】実行時間予測修正及び実行可否判定処理の
流れ実行時間予測修正及び実行可否判定処理の流れを図
10と図1を用いて説明する。Flow of Execution Time Prediction Correction and Execution Availability Determination Process The flow of execution time prediction correction and execution availability determination processing will be described with reference to FIGS.
【0089】ステップ1001では、実行制御部125
から問合せ実行の経過情報1100を受け取る(17
0)。In step 1001, the execution control unit 125
Receives the query execution progress information 1100 from (17)
0).
【0090】経過情報1100は図11の構成をしてい
る。ノードID1101は、実行プランを構成している
ノードのノードID301である。実行時間1102
は、ノードID1101で指定されたノードより下の部
分木の実行時間である。The progress information 1100 has the structure shown in FIG. The node ID 1101 is a node ID 301 of a node configuring an execution plan. Execution time 1102
Is the execution time of the subtree below the node specified by the node ID 1101.
【0091】ステップ1002では、ステップ1001
で受け取った経過情報1100を用いて実行プランの予
測実行時間305を修正する。予測実行時間の修正方法
の一例として、ノードID1101で特定されるノード
の予測実行時間305を実行時間1102に設定し、再
びステップ607と同じ方法で実行プランの予測実行時
間305を計算する方法がある。他にも、実行時間11
02がノードID1101の予測実行時間305の1.
5倍だった場合実行プランの予測実行時間305を1.
5倍する方法も考えられる。予測実行時間を修正された
実行プランは実行可否判定部127へ渡される(17
1)。In step 1002, step 1001
The predicted execution time 305 of the execution plan is corrected using the progress information 1100 received in step (1). As an example of a method for correcting the predicted execution time, there is a method in which the predicted execution time 305 of the node specified by the node ID 1101 is set to the execution time 1102, and the predicted execution time 305 of the execution plan is calculated again in the same manner as in step 607. . In addition, the execution time 11
02 is the predicted execution time 305 of the node ID 1101.
If it is five times, the predicted execution time 305 of the execution plan is set to 1.
A method of multiplying by 5 is also conceivable. The execution plan whose predicted execution time has been corrected is passed to the execution possibility determination unit 127 (17).
1).
【0092】ステップ1003では、修正された予測実
行時間305を持つ実行プランの実行可否判定を実行可
否判定部127が行う。実行可否判定の動作については
前述の実行可否判定処理の流れと同じなので、ここでは
省略する。In step 1003, the execution determination section 127 determines whether or not the execution plan having the corrected predicted execution time 305 can be executed. The operation of the execution availability determination is the same as the flow of the above-described execution availability determination process, and thus the description is omitted here.
【0093】ステップ1004では、ステップ1003
の実行可否判定の結果を判定する。実行プランが実行可
と判定されていれば(Y)ステップ1005へ進み、実
行プランが実行不可と判定されていれば(N)、ステッ
プ1006に進む。In step 1004, step 1003
Is determined. If it is determined that the execution plan is executable (Y), the process proceeds to step 1005. If it is determined that the execution plan is not executable (N), the process proceeds to step 1006.
【0094】ステップ1005では、問合せ処理の実行
を継続する。At step 1005, the execution of the inquiry process is continued.
【0095】ステップ1006では、実行不可を実行制
御部125に通知する(172)。In step 1006, the execution is notified to the execution control unit 125 (172).
【0096】ステップ1007では、実行不可となった
問合せ処理の後処理を行い問合せ処理を中止させ、入出
力処理部120へ問合せの結果としてエラーを返す(1
73)。In step 1007, post-processing of the query processing that has become impossible is performed, the query processing is stopped, and an error is returned to the input / output processing unit 120 as a result of the query (1).
73).
【0097】以上が実行時間予測修正及び実行可否判定
処理の流れである。The flow of the execution time prediction correction and execution feasibility determination processing has been described above.
【0098】実行可否判定基準設定の流れ 実行可否判定基準設定処理の流れを図1を用いて説明す
る。Flow of Executability Determination Criteria Setting Process The flow of the executability determination criterion setting process will be described with reference to FIG.
【0099】実行可否判定基準設定要求は管理アプリケ
ーション111からデータ処理システム100に発行さ
れる(180)。An execution permission / non-permission criterion setting request is issued from the management application 111 to the data processing system 100 (180).
【0100】入出力処理部120は、要求が実行可否判
定基準設定要求と識別すると、該実行可否判定基準設定
要求を実行可否判定管理部129に送る(181)。When the input / output processing unit 120 identifies the request as the execution permission / criterion setting request, the input / output processing unit 120 sends the execution permission / criterion setting request to the execution permission / judgment management unit 129 (181).
【0101】実行可否判定管理部129では実行可否判
定基準設定要求に応じ、実行可否判定基準900を管理
方法に応じ変更する。実行可否判定基準がDBMSで管
理されている場合、実行可否判定基準は要求に応じた問
合せに変換され、実行可否判定基準を管理しているDB
MSに発行される。またメモリ上で管理されている場合
には、実行可否判定管理部129が直接実行可否判定基
準900を書きかえる。The execution availability determination management unit 129 changes the execution availability determination criterion 900 according to the management method in response to the execution availability determination criterion setting request. If the execution criterion is managed by the DBMS, the execution criterion is converted into an inquiry according to the request, and the DB that manages the execution criterion
Issued to MS. In the case where it is managed on the memory, the execution availability determination management unit 129 directly rewrites the execution availability determination criterion 900.
【0102】以上が実行可否判定基準設定の流れであ
る。The above is the flow of setting the execution feasibility determination criteria.
【0103】[0103]
【発明の効果】本発明によれば、以下の効果がある。According to the present invention, the following effects can be obtained.
【0104】(1)実行時間予測部123とDBMS性
能情報700と実行可否判定部124とにより、問合せ
実行時間を予測して実行可否を判定でき、長時間実行問
合せの実行を抑止できる。(1) The execution time prediction unit 123, the DBMS performance information 700, and the execution availability determination unit 124 can predict the query execution time to determine whether the execution is possible, and can suppress the execution of a long-running query.
【0105】(2)実行時間予測修正部126と経過情
報1100と実行可否判定部127によって、実行時間
予測の誤差で実行されてしまっている長時間実行問合せ
の実行を抑止できる。(2) The execution time prediction correction unit 126, the progress information 1100, and the execution availability determination unit 127 can suppress the execution of a long-running query that has been executed due to an error in the execution time prediction.
【0106】(3)実行可否判定基準900をDBMS
ごとに設定可能とすることにより、DBMSの問合せ処
理を妨げるデータベースハブから発行される問合せをデ
ータベースハブで抑止できる。(3) DBMS 900
By making it possible to set each time, queries issued from the database hub that hinders the query processing of the DBMS can be suppressed by the database hub.
【0107】(4)実行プラン修正部122によって、
データベースハブで正確な実行プランを取得できるよう
になる。(4) The execution plan modifying unit 122
You will be able to get accurate execution plans at the database hub.
【0108】以上の効果により、分析系業務におけるデ
ータベースハブおよびDBMSのスループットを向上で
き、効率よい運営が可能となる。With the above effects, the throughput of the database hub and the DBMS in the analysis-related business can be improved, and efficient operation becomes possible.
【図1】第1の実施例の全体構成を示すブロック図。FIG. 1 is a block diagram showing the overall configuration of a first embodiment.
【図2】実行プラン修正処理の流れ図。FIG. 2 is a flowchart of an execution plan correction process.
【図3】予測実行プランの一例を示す図。FIG. 3 is a diagram showing an example of a prediction execution plan.
【図4】取得実行プランの一例を示す図。FIG. 4 is a diagram showing an example of an acquisition execution plan.
【図5】修正後の予測実行プランを示す図。FIG. 5 is a diagram showing a prediction execution plan after correction.
【図6】実行時間予測処理の流れ図。FIG. 6 is a flowchart of an execution time prediction process.
【図7】DBMS性能情報の構成図。FIG. 7 is a configuration diagram of DBMS performance information.
【図8】実行可否判定処理の流れ図。FIG. 8 is a flowchart of an execution availability determination process;
【図9】実行可否判定基準の構成図。FIG. 9 is a configuration diagram of an execution availability determination criterion.
【図10】実行時間予測修正及び実行可否判定処理の流
れ図。FIG. 10 is a flowchart of execution time prediction correction and execution availability determination processing.
【図11】経過情報の構成図。FIG. 11 is a configuration diagram of progress information.
100:データ処理システム 101、101’、…:クライアントコンピュータ 102:管理用コンピュータ 103:クライアント側ネットワーク、 104:サーバ側ネットワーク 105、105’…:DBサーバ 106、106、106’…:二次記憶装置 110、110’…:クライアントアプリケーション 111:管理用アプリケーション 112、112’…:DBMS、120:入出力処理部 121:問合せ解析・最適化部、122:実行プラン修
正部 123:実行時間予測部、124:実行可否判定部 125:実行制御部、126:実行時間予測修正部 127:実行可否判定部、128:DBMS情報取得部 129:実行可否判定管理部。100: data processing system 101, 101 ',...: Client computer 102: management computer 103: client-side network, 104: server-side network 105, 105' ...: DB server 106, 106, 106 '...: secondary storage device 110, 110 '...: client application 111: management application 112, 112' ...: DBMS, 120: input / output processing unit 121: query analysis / optimization unit, 122: execution plan modification unit 123: execution time prediction unit, 124 Executability determination unit 125: Execution control unit 126: Execution time prediction correction unit 127: Executability determination unit 128: DBMS information acquisition unit 129: Executability determination management unit
───────────────────────────────────────────────────── フロントページの続き (72)発明者 西澤 格 東京都国分寺市東恋ケ窪一丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 佐川 暢俊 東京都国分寺市東恋ケ窪一丁目280番地 株式会社日立製作所中央研究所内 Fターム(参考) 5B075 KK07 ND34 QR00 QS20 5B082 GA08 GC04 ──────────────────────────────────────────────────続 き Continuing on the front page (72) Inventor Tadashi Nishizawa 1-280 Higashi Koikekubo, Kokubunji-shi, Tokyo Inside the Hitachi, Ltd.Central Research Laboratory (72) Inventor Nobuntoshi Sagawa 1-280 Higashi Koikekubo, Kokubunji-shi, Tokyo Hitachi, Ltd. F-term in the Central Research Laboratory (reference) 5B075 KK07 ND34 QR00 QS20 5B082 GA08 GC04
Claims (8)
プリケーションプログラムに相当する1つ以上の第2の
プログラムと、データベース管理を行う1つ以上の第3
のプログラムとが、1つのコンピュータ上、またはネッ
トワークで結合された複数のコンピュータ上で動作し、
第3のプログラムが、1つ以上のカラムを持つ1つ以上
のレコードからなる1つ以上の表からなる1つ以上のデ
ータベースを保持し、第1のプログラムが、第2のプロ
グラムから第1の問合せを受けつけ、第1のプログラム
が、第1の問合せから第3のプログラムに発行する問合
せ群と該問合せ群の実行プランを生成し、第1のプログ
ラムが、該実行プランに従い該問合せ群を第3のプログ
ラムに発行し、第1のプログラムが、第3のプログラム
から得た該データベース中のデータを用いて第1の問合
せに対する結果を得る問合せ処理方法であって、実行プ
ランより第1の問合せの実行時間を予測する処理と、予
測された実行時間を用いて第1の問合せの実行可否を判
定する処理とを有することを特徴とする問合せ処理の実
行可否判定方法。A first program for performing data processing, one or more second programs corresponding to an application program, and one or more third programs for performing database management.
Program runs on one computer or on a plurality of computers connected by a network,
A third program maintains one or more databases of one or more tables of one or more records having one or more columns, and the first program executes a first program from the second program. Upon receiving a query, the first program generates a query group issued from the first query to the third program and an execution plan of the query group, and the first program generates the query group according to the execution plan. 3 is a query processing method for issuing a first query using data in the database obtained from the third program, wherein the first program obtains a result for the first query by executing the first query from the execution plan. And a process for determining whether or not the first query can be executed using the predicted execution time.
動作している計算機の負荷を用いて実行プランより実行
時間を予測する処理を有する請求項1記載の問合せ処理
の実行可否判定方法。2. The method according to claim 1, wherein said predicting process includes a process of predicting an execution time from an execution plan using a load of a computer on which a third program is running.
プリケーションプログラムに相当する1つ以上の第2の
プログラムと、データベース管理を行う1つ以上の第3
のプログラムとが、1つのコンピュータ上、またはネッ
トワークで結合された複数のコンピュータ上で動作し、
第3のプログラムが、1つ以上のコードを持つ1つ以上
の表を備えた1つ以上のデータベースを保持し、第1の
プログラムが、第2のプログラムから第1の問合せを受
けつけ、第1のプログラムが、第1の問合せから第3の
プログラムに発行する問合せ群と該問合せ群の実行プラ
ンを生成し、第1のプログラムが、該実行プランに従い
該問合せ群を第3のプログラムに発行し、第1のプログ
ラムが、第3のプログラムから得た該データベース中の
データを用いて第1の問合せに対する結果を得る問合せ
処理方法であって、第3のプログラムに発行される問合
せ群中の1つの問合せの実行時間を予測する処理と、予
測された実行時間を用いて第1の問合せの実行可否を判
定する処理とを有することを特徴とする問合せ処理の実
行可否判定方法。3. A first program for performing data processing, one or more second programs corresponding to an application program, and one or more third programs for performing database management.
Program runs on one computer or on a plurality of computers connected by a network,
A third program maintains one or more databases with one or more tables having one or more codes, the first program accepts a first query from the second program, Generates a query group to be issued from the first query to the third program and an execution plan of the query group, and the first program issues the query group to the third program according to the execution plan. An inquiry processing method in which a first program obtains a result of a first inquiry using data in the database obtained from a third program, wherein the first program comprises one of a group of queries issued to the third program. A method for determining whether to execute an inquiry process, comprising: a process of estimating an execution time of two queries; and a process of determining whether or not to execute a first query using the predicted execution time.
ら問合せ実行に関する情報を得る処理を有する請求項1
又は3記載の問合せ処理の実行可否判定方法。4. A process according to claim 1, wherein said determining process includes a process of obtaining information on query execution from a third program.
Or a method for determining whether or not to execute the inquiry process described in 3.
は、実行プランを第3のプログラムから得られる問合せ
実行に関する情報を用いて修正する実行プラン修正処理
を有する請求項4記載の問合せ処理の実行可否判定方
法。5. The execution possibility of the query processing according to claim 4, wherein the processing for obtaining the information on query execution includes an execution plan correction processing for correcting an execution plan using information on query execution obtained from a third program. Judgment method.
プリケーションプログラムに相当する1つ以上の第2の
プログラムと、データベース管理を行う1つ以上の第3
のプログラムとが、1つのコンピュータ上、またはネッ
トワークで結合された複数のコンピュータ上で動作し、
第3のプログラムが、1つ以上のカラムを持つ1つ以上
のレコードからなる1つ以上の表からなる1つ以上のデ
ータベースを保持し、第1のプログラムが、第2のプロ
グラムから第1の問合せを受けつけ、第1のプログラム
が、第1の問合せから第3のプログラムに発行する問合
せ群と該問合せ群の実行プランを生成し、第1のプログ
ラムが、該実行プランに従い該問合せ群を第3のプログ
ラムに発行し、第1のプログラムが、第3のプログラム
から得た該データベース中のデータを用いて第1の問合
せに対する結果を得る問合せ処理方法であって、問合せ
処理を実行中に経過情報を用い予測された実行時間を修
正する処理と、修正された実行時間を用い問合せ実行継
続の可否を判定する処理とを有することを特徴とする問
合せ処理の実行可否判定方法。6. A first program for performing data processing, one or more second programs corresponding to an application program, and one or more third programs for performing database management.
Program runs on one computer or on a plurality of computers connected by a network,
A third program maintains one or more databases of one or more tables of one or more records having one or more columns, and the first program executes a first program from the second program. Upon receiving a query, the first program generates a query group issued from the first query to the third program and an execution plan of the query group, and the first program generates the query group according to the execution plan. 3 is a query processing method in which the first program obtains a result of the first query using data in the database obtained from the third program. Executable query processing, comprising: a process of correcting the predicted execution time using information; and a process of determining whether to continue query execution using the corrected execution time. Determination method.
の役割を兼ね、前記コンピュータが、1つ以上の第3の
プログラムの代わりに、1つ以上の第1のデータベース
を備え、前記第1のプログラムが、該問合せに必要なデ
ータを第3のプログラムに代わって、前記第1のデータ
ベースから得る請求項1記載の問合せ処理の実行可否判
定方法。7. The computer according to claim 1, wherein said first program also functions as a third program, and said computer includes one or more first databases instead of one or more third programs. 2. The method according to claim 1, wherein the program obtains data necessary for the inquiry from the first database in place of the third program.
プリケーションプログラムに相当する1つ以上の第2の
プログラムと、データベース管理を行う1つ以上の第3
のプログラムとが、1つのコンピュータ上、またはネッ
トワークで結合された複数のコンピュータ上で動作し、
第3のプログラムが、1つ以上のカラムを持つ1つ以上
のレコードからなる1つ以上の表からなる1つ以上のデ
ータベースを保持し、第1のプログラムが、第2のプロ
グラムから第1の問合せを受けつけ、第1のプログラム
が、第1の問合せから第3のプログラムに発行する問合
せ群と該問合せ群の実行プランを生成し、第1のプログ
ラムが、該実行プランに従い該問合せ群を第3のプログ
ラムに発行し、第1のプログラムが、第3のプログラム
から得た該データベース中のデータを用いて第1の問合
せに対する結果を得るコンピュータシステムのデータ処
理システムであって、データ転送量を実行プランより予
測する処理と、予測された該データ転送量を用い問合せ
実行の可否を判定する処理とを有することを特徴とする
問合せ処理の実行可否判定方法。8. A first program for performing data processing, one or more second programs corresponding to an application program, and one or more third programs for performing database management.
Program runs on one computer or on a plurality of computers connected by a network,
A third program maintains one or more databases of one or more tables of one or more records having one or more columns, and the first program executes a first program from the second program. Upon receiving a query, the first program generates a query group issued from the first query to the third program and an execution plan of the query group, and the first program generates the query group according to the execution plan. 3 is a data processing system of a computer system, wherein the first program obtains a result of the first query using data in the database obtained from the third program. Executing a query process, comprising: a process of predicting from an execution plan; and a process of determining whether to execute a query using the predicted data transfer amount. Determination method.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP32500499A JP2001142898A (en) | 1999-11-16 | 1999-11-16 | Inquiry process execution availability determination method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP32500499A JP2001142898A (en) | 1999-11-16 | 1999-11-16 | Inquiry process execution availability determination method |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2001142898A true JP2001142898A (en) | 2001-05-25 |
Family
ID=18172069
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP32500499A Pending JP2001142898A (en) | 1999-11-16 | 1999-11-16 | Inquiry process execution availability determination method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2001142898A (en) |
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006127418A (en) * | 2004-11-01 | 2006-05-18 | Hitachi Ltd | Computer system, computer, database access method and database system |
| JP2012243170A (en) * | 2011-05-22 | 2012-12-10 | Bank Of Tokyo-Mitsubishi Ufj Ltd | Database inquiry terminal |
| JP2012243301A (en) * | 2012-01-06 | 2012-12-10 | Bank Of Tokyo-Mitsubishi Ufj Ltd | Database inquiry terminal |
| JP2018509666A (en) * | 2016-02-19 | 2018-04-05 | 華為技術有限公司Huawei Technologies Co.,Ltd. | Method and apparatus for determining a SQL execution plan |
| JP2018526746A (en) * | 2015-09-08 | 2018-09-13 | アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited | Method and apparatus for optimizing database transactions |
| JP2020135717A (en) * | 2019-02-25 | 2020-08-31 | Kddi株式会社 | Analytical equipment and analytical method |
-
1999
- 1999-11-16 JP JP32500499A patent/JP2001142898A/en active Pending
Cited By (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006127418A (en) * | 2004-11-01 | 2006-05-18 | Hitachi Ltd | Computer system, computer, database access method and database system |
| JP2012243170A (en) * | 2011-05-22 | 2012-12-10 | Bank Of Tokyo-Mitsubishi Ufj Ltd | Database inquiry terminal |
| JP2012243301A (en) * | 2012-01-06 | 2012-12-10 | Bank Of Tokyo-Mitsubishi Ufj Ltd | Database inquiry terminal |
| JP2018526746A (en) * | 2015-09-08 | 2018-09-13 | アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited | Method and apparatus for optimizing database transactions |
| JP2018509666A (en) * | 2016-02-19 | 2018-04-05 | 華為技術有限公司Huawei Technologies Co.,Ltd. | Method and apparatus for determining a SQL execution plan |
| US10901976B2 (en) | 2016-02-19 | 2021-01-26 | Huawei Technologies Co., Ltd. | Method and apparatus for determining SQL execution plan |
| JP2020135717A (en) * | 2019-02-25 | 2020-08-31 | Kddi株式会社 | Analytical equipment and analytical method |
| JP7242343B2 (en) | 2019-02-25 | 2023-03-20 | Kddi株式会社 | Analysis device and analysis method |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7734615B2 (en) | Performance data for query optimization of database partitions | |
| US6505187B1 (en) | Computing multiple order-based functions in a parallel processing database system | |
| US6360214B1 (en) | Automatic database statistics creation | |
| US8135703B2 (en) | Multi-partition query governor in a computer database system | |
| US6366901B1 (en) | Automatic database statistics maintenance and plan regeneration | |
| US6339771B1 (en) | Method and system for managing connections to a database management system | |
| US7143078B2 (en) | System and method for managed database query pre-optimization | |
| US5335345A (en) | Dynamic query optimization using partial information | |
| JPH07319923A (en) | Method and equipment for processing of parallel database of multiprocessor computer system | |
| US20060041599A1 (en) | Database management system and method for query process for the same | |
| US20010014888A1 (en) | Database management system and method for query process for the same | |
| US20060235818A1 (en) | Estimating a number of rows returned by a recursive query | |
| JP2001084257A (en) | Query processing method and system | |
| US11687512B2 (en) | Index suggestion engine for relational databases | |
| US20090094258A1 (en) | Off-loading star join operations to a storage server | |
| CN110659327A (en) | Method and related device for realizing interactive query of data between heterogeneous databases | |
| US20020049747A1 (en) | Method for integrating and accessing of heterogeneous data sources | |
| US20070094270A1 (en) | Method and apparatus for the processing of heterogeneous units of work | |
| US20060206473A1 (en) | Methods and systems for database statement execution plan optimization | |
| CN111913986A (en) | A query optimization method and device | |
| US20240119053A1 (en) | Fingerprints for database queries | |
| EP1780652B1 (en) | Data processing system and method | |
| US20100161930A1 (en) | Statistics collection using path-value pairs for relational databases | |
| US7792819B2 (en) | Priority reduction for fast partitions during query execution | |
| US20070271218A1 (en) | Statistics collection using path-value pairs for relational databases |