JP3434641B2 - データベース処理方法 - Google Patents

データベース処理方法

Info

Publication number
JP3434641B2
JP3434641B2 JP03663896A JP3663896A JP3434641B2 JP 3434641 B2 JP3434641 B2 JP 3434641B2 JP 03663896 A JP03663896 A JP 03663896A JP 3663896 A JP3663896 A JP 3663896A JP 3434641 B2 JP3434641 B2 JP 3434641B2
Authority
JP
Japan
Prior art keywords
access
database
processing
data
plan
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.)
Expired - Fee Related
Application number
JP03663896A
Other languages
English (en)
Other versions
JPH09231115A (ja
Inventor
浩文 岩▲さき▼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP03663896A priority Critical patent/JP3434641B2/ja
Publication of JPH09231115A publication Critical patent/JPH09231115A/ja
Application granted granted Critical
Publication of JP3434641B2 publication Critical patent/JP3434641B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、データベース管理
システム、特にリレーショナルデータベース管理システ
ムの問合せ処理に適するデータベース処理方法に関す
る。
【0002】
【従来の技術】データベースに対するアクセス処理(以
下、単に「データベース処理」という)を効率的に実施
するために、最適化と呼ばれる処理を行うデータベース
管理システムが一般的になっている。従来におけるデー
タベースへのアクセス(問合せ)の最適化処理におい
て、問合せ条件に変数が存在する場合、実行時に代入さ
れる値によっては最適化が効果を持たないことを避ける
ため、あるデータベースへのアクセス要求に対し複数の
アクセス処理手順をプランとして生成し、それぞれの処
理手順のコスト評価を実施した後、一つまたは複数の効
率的と判断される処理手順を生成する。そして、データ
ベース処理の実行時に変数の具体的な値を設定した後、
生成された処理手順に従ってデータベース処理を実行す
る。なお、複数の処理手順が生成されている場合にその
中からある選択条件に従って唯一つの手順を選択し効率
的な実行を実現する技術として、条件の中で最も効率的
と判断される処理手順を選択し実行する技術が特開平1
−194028号公報に、またはすべての処理手順を
(マルチプロセッサ上で)同時に実行し、一番先に終了
した結果を選択する技術が特開平6−4587号公報
に、それぞれ開示されている。
【0003】
【発明が解決しようとする課題】前述したように、従来
においては、データベースへの問合せにおいて変数(ホ
スト変数や動的パラメータ)を含んでいる場合等のよう
に、実際のデータベース処理を実行するまで確定しない
要素を含むデータベース処理の最適化は困難であった。
そのため、前述の先行技術のように、最適化の際には確
定しない要素が実行時に取りえるあらゆる可能性を考慮
し、複数のデータベース処理手順を生成し、実行時にそ
の中から最適なデータベース処理を選び出して実行した
り、同時に全てのデータベース処理を実行していた。
【0004】しかし、これらの処理方法においても、複
数のデータベース処理手順を記憶するための領域が多く
なること、複数のデータベース処理手順から一つを選ん
だり、同時に実行することはシステム的見地からすれば
トータルの処理量が多くなること、更に適用できる範囲
が問合せ中の変数等に限られていることなどの問題があ
った。
【0005】本発明は、以上の課題を解決するためにな
されたものであり、その目的は、データベースアクセス
処理の性能を劣化させずに、アクセス要求に指定された
変数のみならずその他の最適化の際に確定しない要素を
も考慮に入れた最適化を実現するデータベース処理方法
を提供することにある。
【0006】
【課題を解決するための手段】以上の目的を達成させる
ために、本発明に係るデータベース処理方法は、データ
ベースへのアクセス要求の内容を解析し、最適化処理を
行うことでデータベースへアクセスを行うための内部処
理手順を唯一つに決定するデータベース管理システムに
おいて、データベースアクセス実行前に、データベース
へのアクセスを行うためのアクセス手段をモデル化する
モデル作成ステップと、データベースアクセス実行前
に、アクセス要求の内容から内部処理手順のうちデータ
アクセス条件が確定していないことにより決定できない
アクセス手段を除く部分を最適化してデータアクセス条
件を含むプランを作成するプラン作成ステップと、デー
タベースアクセス実行時に、確定したデータアクセス条
件に基づきプランの内容を評価し、モデル化したアクセ
ス手段の中から最適なアクセス手段を選択するアクセス
手段選択ステップと、選択したアクセス手段により実際
にデータベースへアクセス処理を行う処理実行ステップ
とを有し、前記プラン作成ステップは、アクセスするデ
ータの更新可不可状態を考慮してプランを作成するもの
である。
【0007】また、本発明に係るデータベース処理方法
は、データベースへのアクセス要求の内容を解析し、最
適化処理を行うことでデータベースへアクセスを行うた
めの内部処理手順を唯一つに決定するデータベース管理
システムにおいて、データベースアクセス実行前に、デ
ータベースへのアクセスを行うためのアクセス手段をモ
デル化するモデル作成ステップと、データベースアクセ
ス実行前に、アクセス要求の内容から内部処理手順のう
ちデータアクセス条件が確定していないことにより決定
できないアクセス手段を除く部分を最適化してデータア
クセス条件を含むプランを作成するプラン作成ステップ
と、データベースアクセス実行時におけるデータ更新の
可不可状態を調べるステップと、データベースアクセス
実行時に、確定したデータアクセス条件に基づきプラン
の内容を評価し、モデル化したアクセス手段の中から最
適なアクセス手段を選択するアクセス手段選択ステップ
と、選択したアクセス手段により実際にデータベースへ
アクセス処理を行う処理実行ステップとを有し、前記ア
クセス手段選択ステップは、データ更新の可不可状態に
応じてアクセス手段を選択するものである。
【0008】
【0009】また、更にデータベースアクセス実行時に
おけるデータ更新の可不可状態を調べるステップを含
み、前記アクセス手段選択ステップは、データ更新の可
不可状態に応じてアクセス手段を選択することを特徴と
する。
【0010】また、前記アクセス手段選択ステップは、
アクセス対象データの選択率と処理時間との関係並びに
更新可不可状態に基づいて最も効率的なアクセス手段を
選択することを特徴とする。
【0011】
【0012】以上のような本発明では、データベースへ
の問合せに対して最適化を施しデータベース処理手順を
生成するにあたり、データベースを構成する各テーブル
をアクセスするためのアクセス手段をモデル化すること
により、テーブルのアクセスパスを規定しないルーズな
最適化のみを施した唯一のデータベース処理手順をプラ
ンとして生成する。そして、データベース処理の実行時
には、各テーブル毎に実行時に決定したパラメータを解
析し、プランに含まれるモデル化されたアクセス手段の
中から、最も最適である具体的なアクセス手段を決定す
ることにより、データベース処理の実行を最適に行うも
のである。
【0013】すなわち、本発明の最適化処理では、最終
的にデータベース処理手順を一つしか生成しないため、
処理手順の構造が全く異なる複数のデータベース処理手
順間の最適化はコンパイル時に実施してしまう。しか
し、通常のデータベース処理では、処理手順の構造の異
なるデータベース処理手順を実行時に選択できたとして
も、データベースの特性は劇的に変化するものではない
ため、効果を発揮できるような問合せは極めて少ないも
のである。従って、本発明によれば、実質的な最適化に
的を絞ることにより、従来のような無駄な記憶領域やC
PU使用を削減し、かつ適用範囲を広げることができ
る。
【0014】
【発明の実施の形態】以下、本発明に係る好適な実施の
形態を図面に基づいて説明する。
【0015】実施の形態1.図1は、本発明に係るデー
タベース処理方法の一実施の形態を用いるデータベース
管理システム(以下、「DBMS」と称する)の動作概
要を説明するために用いる図である。DBMS1に対し
てアクセスを行うためのデータベース言語は、通常CO
BOL言語等のホストコンピュータで処理実行されるプ
ログラム言語に埋め込まれたり、動的SQLのようにプ
ログラム実行時に動的に生成される。本実施の形態にお
いては、データベース言語としてSQLの場合で説明
し、DBMS1は、図1に示したようなSQL文による
データベースアクセス要求のコマンド(以下、「問合
せ」という)2を処理する。もちろん、この例のみなら
ず他のコマンドや他のデータベース言語でもよいことは
いうまでもない。
【0016】DBMS1は、このような問合せ2に対
し、プログラム言語に埋め込まれた問合せであれば、プ
ログラムのコンパイルと同時にコンパイルされ、動的S
QLであれば、PREPARE文実行時にコンパイルが
行われる。このコンパイル処理は、コンパイル時処理部
10によって行われる。このコンパイル時処理部10
は、アクセス要求で指定されたデータベースへのアクセ
ス処理を解析する問合せ解析部11と、解析結果に基づ
き少なくとも1つのプランを作成するプラン候補作成部
12と、作成されたプランの中から最も低コストとなる
唯一つのプランを選択する最適プラン選択部13とを含
み、各処理を行う。コンパイル処理は、通常、実際のデ
ータベースアクセスの実行よりも前に行うため、問合せ
2のSQL文中に変数(図1に示した例では“:H
V”)が存在する場合には、この時点では最適な処理手
順を決定できない。
【0017】従って、プラン候補作成部12は、問合せ
解析部11による問合せの解析結果に基づき、アクセス
手段のモデル化並びにデータベース処理手順を表すプラ
ンを作成する。すなわち、本実施の形態では、コンパイ
ル時においては最終的なアクセス手段を決定せずに、デ
ータベース4のテーブル41からデータを読み出す処理
のアクセス手段、ここではアクセスメソドをモデル化
し、また、最終的なアクセスメソドの決定に必要な情報
を含んだプランのみを作成する。そして、処理実行時に
プランに含まれる情報を評価して最終的なアクセスメソ
ドを決定するようにしたことを特徴としている。換言す
ると、コンパイル時に可能な範囲でルーズな最適化を行
い、処理実行時に最終的な唯一つのアクセスメソドを決
定するというタイトな最適化を行うことになる。
【0018】本実施の形態におけるプラン候補作成部1
2は、図1に示したような構成のプラン3を次のように
して作成する。なお、以下の例ではアクセス要求が図1
に示した問合せコマンド(SELECT文)ようなデー
タベースからのデータ読出し要求の場合で説明する。
【0019】まず、データベース処理の手順を木構造に
て示した処理手順31のうちデータベース4内のテーブ
ル41からデータを読み出す部分すなわち読出しのアク
セスメソドをモデル化し、ここでは単に読出し処理とし
て表現しておく。モデル化したアクセスメソドに関して
は後述する。この読出し処理の具体的な唯一つのアクセ
スメソドについては実行時に決定するため、ここでは、
問合せ2においてデータを読み出す際に必要とする読出
し条件32として、ソートを行なう必要があるアクセス
対象列(ソート指定)及び選択を行なう必要があるアク
セス対象列(選択指定)を抽出しプラン3として保持す
る。ソート指定された列に関しては、ソート情報33と
して各列でのソートが昇順か降順か等の情報を保持す
る。選択指定された列に関しては、選択情報34として
各列のデータ数等の統計情報や問合せ2に指定された選
択条件から得られるアクセス対象データが占める割合を
示す選択率等の情報を保持する。このとき、問合せ2中
の選択条件に変数が使われている場合には、選択率も変
数を含む可変な値をとる。
【0020】DBMS1は、上記のように問合せ解析部
11の結果、必要であればプラン候補作成部12におい
て複数のプランを生成し、最適プラン選択部13におい
て最もコストの少ないプラン3を唯一つ選択する。つま
り、最小限の記憶領域及びCPU使用率を削減できるよ
うな最も資源の効率化を図ることのできるプランを選択
する。
【0021】そして、実際にプラン3を実行する際に
は、問合せ2の変数“:HV”にも値を設定し、DBM
S1は実行時処理部14によりデータベース処理を行う
ことになる。実行時処理部14には、データ読出し条件
を評価し、最適なアクセスメソドを選択するアクセスメ
ソド選択部15と、選択したアクセスメソドにより実際
にアクセス処理を行う処理実行部16とが含まれてい
る。
【0022】始めにアクセスメソド選択部15でプラン
3に含まれるソート情報33や選択情報34のデータ読
出し条件を参照しながら、処理手順31中の各読出し処
理のアクセスメソドを決定する。この決定方法について
は後述する。アクセスメソドが決定すると、処理実行部
16においてプラン3中の処理手順31に従い、データ
ベース4上のテーブル41からアクセスメソドに従った
読出し処理を実際に行い、データベース処理を実行す
る。
【0023】図2は、本実施の形態が適用されるDBM
Sのハードウェア構成の一例を示したブロック図であ
る。具体的には、一般的な計算機にみられるようなCP
U51と主記憶装置50、並びにディスク53から構成
され、ディスク53はチャネル52を介してCPU51
や主記憶装置50と接続されている。図1中の各構成要
素であるDBMS1、問合せ2、プラン3及びデータベ
ース4は、図2中のディスク53や主記憶装置50に配
置され、CPU51により実際の処理が施される。ま
た、ディスク53と主記憶装置50間でデータ転送が行
われる場合には、チャネル52により処理が中継され
る。
【0024】ここで、モデル化したアクセスメソドにつ
いて説明する。図3は、データベース4から実際にテー
ブルを読み出す処理の部分をモデル化したアクセスメソ
ドの一例を示した図である。本実施の形態では、以下の
6種類のアクセスメソドについて具体的に処理内容を説
明する。
【0025】まず、図3(a)に示したように、データ
ベース4から最も高速にテーブル全体を順次に読み出す
シーケンシャルスキャン、図3(b)に示したように、
その途中に選択条件を判断して条件に合致するデータの
みを読み出すシーケンシャルスキャン&選択、図3
(c)に示したように、テーブルに索引が付加されてお
り、その索引がソートまたは選択条件に適用できる場合
に索引を介して読み出すインデックススキャン、図3
(d)に示したように、更に別の列に対して選択条件が
指定されている場合に、その選択条件に合致するデータ
のみを読み出すインデックススキャン&選択、図3
(e)に示したように、複数の選択条件やソート指定が
されたときに、一旦条件に合うデータのみをシーケンシ
ャルスキャンで読み出し、ソートした結果を中間データ
とするシーケンシャルスキャン&選択ソート、そして、
図3(f)に示したように、その際シーケンシャルスキ
ャンの代わりにインデックススキャンを行うインデック
ススキャン&選択ソートがある。本実施の形態では、モ
デル化された読出し処理がこの6種類のアクセスメソド
のいずれかに置き換えられて最適に実行される。
【0026】次に、モデル化したアクセスメソドの中か
ら唯一つのアクセスメソドを決定する手順について説明
する。
【0027】まず、図4は、以上の6種類のアクセスメ
ソドが選択率によって処理時間がどのように変化するか
を示した特性図の一例である。なお、図4内の(a)〜
(f)は、図3に示した各アクセスメソドに付した記号
に対応する。(a)のシーケンシャルスキャンは、選択
率に影響することなく全てのデータを読み出さねばなら
ないため、一定の値を示す。同様に、(b)のシーケン
シャルスキャン&選択も全てのデータを読み出さないと
選択処理ができないため、(a)とほぼ同様の特性を示
す。(c)のインデックススキャンは、選択条件の合致
したデータのみを索引で読み出すため、選択率に比例し
た値を示す。(d)のインデックススキャン&選択も、
(c)とほぼ同様の特性を示す。(e)のシーケンシャ
ルスキャン&選択ソートは、一旦(b)のシーケンシャ
ルスキャン&選択によって全てのデータを読み出し、条
件に合致したデータに対してさらにソートを行うため、
(b)の値+αを初期値として右上がりの特性を示す。
(f)のインデックススキャン&選択ソートは、一旦
(d)のインデックススキャン&選択によって必要なデ
ータを読み出し、条件に合致したデータに対してさらに
ソートを行うため、(d)の値+βを初期値として
(d)よりさらに右上がりの特性を示す。
【0028】図5は、プラン3の読出し条件32中にソ
ート情報33、選択情報34の各情報がどう指定された
かによって、読出し処理としてどのアクセスメソドを使
用すべきかを表形式で示した図である。本実施の形態で
は、選択指定、ソート指定共それぞれ「無」、「有
(単)」、「有(複)」の3種類に分割し、それぞれの
条件の組合せの9通りの条件(イ)〜(リ)に分類して
いる。但し、ここでいうところの「無」や「有」という
のは、選択指定やソート指定があり、かつ、その指定列
に索引が付加されているかを示すものである。また、
「(単)」は1つのみの指定があることを示し、
「(複)」は複数の指定があることを示す。そして、こ
の9通りの条件によりアクセスメソドを決定する際に、
図4の選択率と処理時間の特性を考慮し、問合せ2の実
行時に最も効率的なアクセスメソドを決定する。
【0029】以上の問合せの実行時にDBMSがモデル
化したアクセスメソドの中から唯一つのアクセスメソド
を選択し決定するというアクセスメソド選択処理のフロ
ーチャートを示したのが図6である。アクセスメソド選
択処理は、このフローチャートに沿って、まずソートの
指定の有無を判定し、次に選択指定の有無を判定する。
最後に図5を参照して、途中で求めた選択率に従って最
も効率的なアクセスメソドを決定する。図5を利用した
アクセスメソド決定処理は、本実施の形態におけるデー
タベース処理方法の一部を構成する。
【0030】例えば、選択指定が「有(単)」、ソート
指定が「有(複)」という図5における(チ)の場合、
複数の列でソートが可能な(e)シーケンシャルスキャ
ン&選択ソートか(f)インデックススキャン&選択ソ
ートの二つのアクセスメソドが候補として上がる。そし
て、図4から(e)と(f)の特性を見ると、選択率が
約25%未満では(f)の方が速く、それ以上の選択率
では(e)の方が速いことがわかるため、図5に示すよ
うなアクセスメソドの決定方法になる。この結果、デー
タベース処理の実行時にその時の条件に最も適したアク
セスメソドを選択することが可能となり、効率的なデー
タベース処理が実現する。
【0031】なお、図6のフローチャート中でソート列
に索引が付いていなくてソート指定「無」となった場合
はアクセスメソドの範囲外でソートの実行が行われるこ
とは言うまでもない。
【0032】以上のように、本実施の形態によれば、問
合せ実行時に動的に変わる可能性のあるパラメータが含
まれていたとしても、問合せ実行前におけるルーズな最
適化によりある程度絞られたアクセスメソドの中から問
合せ実行時に唯一つのアクセスメソドを選択できるよう
にしたので、実行時の状況に応じた最適化を行うことが
できる。
【0033】また、問合せ実行前にルーズな最適化を行
いある程度必要な情報を絞る込むので無駄に資源を消費
することもなく、このため最適化処理により性能が劣化
するということはない。
【0034】なお、問合せ実行時に動的に変わる可能性
のあるパラメータとして、問合せ選択条件(動的パラメ
ータ、ホスト変数等)、更新可能性(トランザクション
の設定文、LOCKモード等)、ハードウェア資源(デ
ィスク容量、メモリ等)、統計情報(データベース構
造、特徴等)などがある。
【0035】実施の形態2.次に、本発明の第2の実施
の形態に関し、図7、図8を用いて説明する。上記実施
の形態1では、アクセス処理としてデータの読出しを行
う検索処理の場合で説明したが、本実施の形態では、更
にデータの書込みを行う更新処理を含めたものである。
【0036】SQL等のデータベース言語では、問合せ
が更新可能かどうかをカーソル指定等で明示的に指定す
ることができ、一般的に更新可能な問合せを処理する手
順は、検索だけを処理する場合と異なるため、コンパイ
ル時の最適化でも更新可能性が考慮される。また、問合
せのコンパイル時に指定されるカーソル指定では更新可
能であったとしても、トランザクションの属性として読
込み専用が指定されたり、権限管理により書込み許可が
取り消されたりする等、実際のデータベース処理実行時
には、コンパイル時と条件が異なり、必ずしも最適化で
きるとは限らない。
【0037】そこで、本実施の形態は、更新処理におけ
るデータベースのアクセスメソドをもモデル化すること
により実行時の効率を上げるものである。更に、更新処
理実行時におけるデータ更新の可不可状態を更に調べる
ことでアクセスメソドを決定することを特徴とする。
【0038】図7は、本実施の形態のプラン130を示
したものであり、実施の形態1の図1に示したプラン3
に相当する部分を抜き出したものである。ここでは、読
出し条件132の中にデータの更新可不可状態を示す
「更新指定」というデータアクセス条件が含まれている
ことが上記実施の形態1におけるプランと異なる。更新
指定には、問合せ中に更新可能が指定された場合に、更
新指定を“有”とし、それ以外の場合更新指定を“無”
とすることで、実行時にアクセスメソドを決定する際の
判断材料とすることができる。
【0039】図8は、本実施の形態のアクセスメソド決
定表であり、実施の形態1の図5に相当するものであ
る。選択指定、ソート指定ともそれぞれ「無」「有
(単)」「有(複)」の3種類に分類しているのは同じ
であるが、9種類の条件を更に更新「有」か「無」かの
18種類に分類しているところが異なる。図8において
は、9種類の各欄を斜線で分割し、左上を「更新有」、
右下を「更新無」として示している。
【0040】データベース処理の実行時には、図6に示
したアクセスメソド選択処理のフローチャートとほぼ同
様の処理手順に従い、ソート指定と選択指定の欄を決定
し、アクセスメソドを決定するために図8を参照する際
に、プラン130の読出し条件132に保持される更新
指定(“有”または“無”)に加えて更にトランザクシ
ョンの属性並びに権限等の更新可不可状態をも合わせて
みることにより、図8の「更新有」「更新無」を選択
し、アクセスメソドを決定する。
【0041】但し、アクセスメソドとして(e)または
(f)を選択すると、中間データを作成するため元のデ
ータとのマッピングが難しくなるので、本実施の形態で
は、更新「有」の場合は(e)と(f)のアクセスメソ
ドを選択しない((カ),(ヨ))。従って、例えば、
図8において選択指定、ソート指定共「有(単)」の場
合((カ))、「更新無」では選択率によりアクセスメ
ソドを変更しているが、「更新有」ではアクセスメソド
を(c)に固定にしている。なお、本実施の形態では、
ソート指定が複数有るような問合せは、更新不可(エラ
ー)としている((タ),(レ),(ソ))。
【0042】このように、図8に示したようなクセスメ
ソドの決定表を定義することにより、選択率と処理時間
の関係に加えて上記で説明した更新可不可状態なども考
慮してアクセスメソドの決定を行うことができるので、
また、問合せに含まれていない権限等の未確定項目をも
考慮することができるので、更新処理においても本来の
最適化を図ることができ、効率的なデータベース処理が
実現できる。
【0043】実施の形態3.次に、本発明の第3の実施
の形態に関し、図9を用いて説明する。本実施の形態
は、実施の形態1のハードウェア構成を拡張したもので
ある。上記実施の形態1及び2では、読出しまたは書込
み部分をモデル化し、実行時に最適なアクセスメソドを
選択することでデータベース処理を効率化していた。こ
れに対して、本実施の形態では、データベースアクセス
処理のモデル化に付加型のデータベース専用装置である
データベースプロセッサ(データベースエンジン)の入
出力を付け足すものである。
【0044】図9は、本実施の形態のハードウェア構成
を示すものであり、実施の形態1における図2に相当す
るものである。ここで、付加型のデータベースエンジン
としては、図9(a)に示したディスク一体型のデータ
ベースエンジン154と図9(b)に示したディスク分
離型のデータベースエンジン254とが考えられるが、
本実施の形態ではどちらの場合も同様に扱うことが可能
である。これらのハードウェア構成においてモデル化さ
れるアクセスメソドを考える時に、図3に示したアクセ
スメソドのモデル例にデータベースエンジンで行うモデ
ルを付け足して、図4に示したような処理時間特性によ
り図5に相当するアクセスメソド決定表を作成する。そ
して、前述した手順で唯一つのアクセスメソドを決定
し、データベースエンジンに係るアクセスメソドを含む
ようであれば、そのアクセスメソドに従ったデータベー
スアクセスの一部または全部をデータベースエンジンで
実行させることで、本実施の形態のようなデータベース
エンジンを含めた構成においても最適な実行を行うこと
ができる。
【図面の簡単な説明】
【図1】 本発明に係るデータベース処理方法の第1の
実施の形態を用いるデータベース管理システムの動作概
要を説明するために用いる図である。
【図2】 第1の実施の形態が適用されるデータベース
管理システムのハードウェア構成の一例を示したブロッ
ク図である。
【図3】 第1の実施の形態におけるデータベースのア
クセスメソドをモデル化した一例を示した図である。
【図4】 第1の実施の形態でモデル化したアクセスメ
ソド毎の選択率と処理時間の関連の一例を示した図であ
る。
【図5】 第1の実施の形態においてデータベース処理
で使用するアクセスメソドの決定のために用いる表を示
した図である。
【図6】 第1の実施の形態においてデータベース管理
システムがデータベース処理実行時にアクセスメソドの
決定を行う処理を示したフローチャートである。
【図7】 本発明に係るデータベース処理方法の第2の
実施の形態を用いるデータベース管理システムの動作概
要を説明するために用いる図であり、本実施の形態にお
けるプランの構造の一例を示した概要図である。
【図8】 第2の実施の形態においてデータベース処理
で使用するアクセスメソドの決定のために用いる表を示
した図である。
【図9】 本発明に係るデータベース処理方法の第3の
実施の形態を用いるデータベース管理システムのハード
ウェア構成の例を示したブロック図である。
【符号の説明】
1 データベース管理システム(DBMS)、2 問合
せ、3,130 プラン、4 データベース、10 コ
ンパイル時処理部、11 問合せ解析部、12プラン候
補作成部、13 最適プラン選択部、14 実行時処理
部、15 アクセスメソド選択部、16 処理実行部、
31,131 処理手順、32,132 読出し条件、
33,133 ソート情報、34,134 選択情報、
41テーブル、42 統計情報、50,150,250
主記憶装置、51,151,251 CPU、52,
152,252 チャネル、53,253 ディスク、
154,254 DBエンジン。
フロントページの続き (56)参考文献 特開 平1−194028(JP,A) 特開 昭64−42731(JP,A) 特開 平3−131941(JP,A) 特開 平4−112240(JP,A) 特開 平5−81330(JP,A) 特開 平6−180717(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 12/00

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】 データベースへのアクセス要求の内容を
    解析し、最適化処理を行うことでデータベースへアクセ
    スを行うための内部処理手順を唯一つに決定するデータ
    ベース管理システムにおいて、 データベースアクセス実行前に、データベースへのアク
    セスを行うためのアクセス手段をモデル化するモデル作
    成ステップと、 データベースアクセス実行前に、アクセス要求の内容か
    ら内部処理手順のうちデータアクセス条件が確定してい
    ないことにより決定できないアクセス手段を除く部分を
    最適化してデータアクセス条件を含むプランを作成する
    プラン作成ステップと、 データベースアクセス実行時に、確定したデータアクセ
    ス条件に基づきプランの内容を評価し、モデル化したア
    クセス手段の中から最適なアクセス手段を選択するアク
    セス手段選択ステップと、 選択したアクセス手段により実際にデータベースへアク
    セス処理を行う処理実行ステップと、 を有し 前記プラン作成ステップは、アクセスするデータの更新
    可不可状態を考慮してプランを作成する ことを特徴とす
    るデータベース処理方法。
  2. 【請求項2】 データベースへのアクセス要求の内容を
    解析し、最適化処理を行うことでデータベースへアクセ
    スを行うための内部処理手順を唯一つに決定するデータ
    ベース管理システムにおいて、 データベースアクセス実行前に、データベースへのアク
    セスを行うためのアクセス手段をモデル化するモデル作
    成ステップと、 データベースアクセス実行前に、アクセス要求の内容か
    ら内部処理手順のうちデータアクセス条件が確定してい
    ないことにより決定できないアクセス手段を除く部分を
    最適化してデータアクセス条件を含むプランを作成する
    プラン作成ステップと、 データベースアクセス実行時におけるデータ更新の可不
    可状態を調べるステップと、 データベースアクセス実行時に、確定したデータアクセ
    ス条件に基づきプランの内容を評価し、モデル化したア
    クセス手段の中から最適なアクセス手段を選択するアク
    セス手段選択ステップと、 選択したアクセス手段により実際にデータベースへアク
    セス処理を行う処理実行ステップと、 を有し、 前記アクセス手段選択ステップは、データ更新の可不可
    状態に応じてアクセス手段を選択することを特徴とする
    データベース処理方法。
  3. 【請求項3】 請求項1記載のデータベース処理方法に
    おいて、 データベースアクセス実行時におけるデータ更新の可不
    可状態を調べるステップを含み、 前記アクセス手段選択ステップは、データ更新の可不可
    状態に応じてアクセス手段を選択することを特徴とする
    データベース処理方法。
  4. 【請求項4】 請求項1乃至3のいずれかに記載のデー
    タベース処理方法において、 前記アクセス手段選択ステップは、アクセス対象データ
    の選択率と処理時間との関係並びに更新可不可状態に基
    づいて最も効率的なアクセス手段を選択することを特徴
    とするデータベース処理方法。
JP03663896A 1996-02-23 1996-02-23 データベース処理方法 Expired - Fee Related JP3434641B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP03663896A JP3434641B2 (ja) 1996-02-23 1996-02-23 データベース処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP03663896A JP3434641B2 (ja) 1996-02-23 1996-02-23 データベース処理方法

Publications (2)

Publication Number Publication Date
JPH09231115A JPH09231115A (ja) 1997-09-05
JP3434641B2 true JP3434641B2 (ja) 2003-08-11

Family

ID=12475391

Family Applications (1)

Application Number Title Priority Date Filing Date
JP03663896A Expired - Fee Related JP3434641B2 (ja) 1996-02-23 1996-02-23 データベース処理方法

Country Status (1)

Country Link
JP (1) JP3434641B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2307155A1 (en) 2000-04-28 2001-10-28 Ibm Canada Limited-Ibm Canada Limitee Execution of database queries including filtering
JP5199317B2 (ja) 2010-08-25 2013-05-15 株式会社日立製作所 データベース処理方法、データベース処理システム及びデータベースサーバ
JP5458330B2 (ja) * 2012-11-06 2014-04-02 株式会社日立製作所 データベース処理方法及びデータベース処理システム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2760794B2 (ja) * 1988-01-29 1998-06-04 株式会社日立製作所 データベース処理方法および装置

Also Published As

Publication number Publication date
JPH09231115A (ja) 1997-09-05

Similar Documents

Publication Publication Date Title
US7499917B2 (en) Processing cross-table non-Boolean term conditions in database queries
US6789071B1 (en) Method for efficient query execution using dynamic queries in database environments
US5873088A (en) Derived data base processing system enabling one program to access a plurality of data basis
US8423569B2 (en) Decomposed query conditions
JPH01194028A (ja) データベース処理方法および装置
US20060085484A1 (en) Database tuning advisor
US20030144992A1 (en) Database processing method and system
US20070156736A1 (en) Method and apparatus for automatically detecting a latent referential integrity relationship between different tables of a database
US20070250517A1 (en) Method and Apparatus for Autonomically Maintaining Latent Auxiliary Database Structures for Use in Executing Database Queries
JPH04217042A (ja) 物理データベース設計システム
US5394546A (en) Database management system and method of extending system functions
US6636846B1 (en) Method for providing a system maintained materialized functionally dependent column for a database management system
JP3670770B2 (ja) データベースを構成する方法及び装置
US20090083277A1 (en) Nodal data normalization
CN111078705A (zh) 基于Spark平台建立数据索引方法及数据查询方法
US7797290B2 (en) Database reorganization program and method
CN102789488A (zh) 数据查询处理系统和数据查询处理方法
US6269359B1 (en) Relational data base system and method for rapidly realizing a query to a database
JP3434641B2 (ja) データベース処理方法
US20060085464A1 (en) Method and system for providing referential integrity constraints
US7155432B2 (en) Method and system decoding user defined functions
Reniers et al. Schema design support for semi-structured data: Finding the sweet spot between NF and De-NF
US20060004863A1 (en) Method, system and program for simplifying data flow in a statement with sequenced subexpressions
US20180232416A1 (en) Distribute execution of user-defined function
JP3538322B2 (ja) データベース管理システムおよび問合せの処理方法

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees