JPH01194028A - データベース処理方法および装置 - Google Patents
データベース処理方法および装置Info
- Publication number
- JPH01194028A JPH01194028A JP63017071A JP1707188A JPH01194028A JP H01194028 A JPH01194028 A JP H01194028A JP 63017071 A JP63017071 A JP 63017071A JP 1707188 A JP1707188 A JP 1707188A JP H01194028 A JPH01194028 A JP H01194028A
- Authority
- JP
- Japan
- Prior art keywords
- database
- processing
- processing procedure
- execution
- internal processing
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 139
- 238000004458 analytical method Methods 0.000 claims description 15
- 238000007781 pre-processing Methods 0.000 claims description 11
- 238000003672 processing method Methods 0.000 claims description 9
- 230000014509 gene expression Effects 0.000 abstract description 78
- 238000005457 optimization Methods 0.000 description 11
- 238000011156 evaluation Methods 0.000 description 10
- 238000013138 pruning Methods 0.000 description 8
- 150000001875 compounds Chemical class 0.000 description 5
- 238000001914 filtration Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- BSFODEXXVBBYOC-UHFFFAOYSA-N 8-[4-(dimethylamino)butan-2-ylamino]quinolin-6-ol Chemical compound C1=CN=C2C(NC(CCN(C)C)C)=CC(O)=CC2=C1 BSFODEXXVBBYOC-UHFFFAOYSA-N 0.000 description 1
- 244000141353 Prunus domestica Species 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 210000000795 conjunctiva Anatomy 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
- G06F16/24549—Run-time optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
- G06F16/24542—Plan optimisation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99932—Access augmentation or optimizing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Operations Research (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、データベース処理装置に関し、特にリレーシ
ョナルデータベース管理システムに適した問合せの処理
に好適なデータベース処理方法に関する。
ョナルデータベース管理システムに適した問合せの処理
に好適なデータベース処理方法に関する。
データベース管理システム(以下DBMSと略記)、特
にリレーショナルDBMSは、非単続き的な言語で表現
された問合せを処理して、内部処理手順を決定し、実行
する。従来の問合せ処理の主な方法には、予め設定した
規則に基づいて単一の内部処理手順を決定するもの(例
えば、Sm1th、J。
にリレーショナルDBMSは、非単続き的な言語で表現
された問合せを処理して、内部処理手順を決定し、実行
する。従来の問合せ処理の主な方法には、予め設定した
規則に基づいて単一の内部処理手順を決定するもの(例
えば、Sm1th、J。
M、、at、al、”optimizing tha
Perfomanca of aRelati
onal Database Interface”C
ACM Vol、18.&10、Oct、1975.p
p、568−579.)と、各種統計情報を用いて選定
された複数の候補処理手順から、コスト評価により、最
適と思われるものを決定するもの(例えば、Selin
gar、P、G、、at、al、”Access Pa
thSalaction in a Ra1ation
al DatabaseManagement Sys
tem”Proc、ACM−5IGMOD、1979.
pp、23−34.)とがある、前者は、処理手順作業
のための負荷は小さいけれども、−律に設定された規則
の妥当性に問題があり、選ばれた内部処理手順の最適性
にも問題がある。後者は、各種統計情報の管理と、複数
の候補処理手順の作業及びそれらのコスト評価のための
負荷があるものの、最適な処理手順を与える。
Perfomanca of aRelati
onal Database Interface”C
ACM Vol、18.&10、Oct、1975.p
p、568−579.)と、各種統計情報を用いて選定
された複数の候補処理手順から、コスト評価により、最
適と思われるものを決定するもの(例えば、Selin
gar、P、G、、at、al、”Access Pa
thSalaction in a Ra1ation
al DatabaseManagement Sys
tem”Proc、ACM−5IGMOD、1979.
pp、23−34.)とがある、前者は、処理手順作業
のための負荷は小さいけれども、−律に設定された規則
の妥当性に問題があり、選ばれた内部処理手順の最適性
にも問題がある。後者は、各種統計情報の管理と、複数
の候補処理手順の作業及びそれらのコスト評価のための
負荷があるものの、最適な処理手順を与える。
また、ホスト言語(COBOL、PL/I等)に問合せ
言語を組み込む場合、当アプリケーションプログラム実
行前に予め問合せをプリプロセス処理し、実行形式であ
る内部処理手順を作成している。この問合せ表現では、
多くの場合検索条件式にはホスト言語の変数が記述され
る。この変数に定数が代入されるのは、既にプリプロセ
ス処理された結果の内部処理手順の実行時である。
言語を組み込む場合、当アプリケーションプログラム実
行前に予め問合せをプリプロセス処理し、実行形式であ
る内部処理手順を作成している。この問合せ表現では、
多くの場合検索条件式にはホスト言語の変数が記述され
る。この変数に定数が代入されるのは、既にプリプロセ
ス処理された結果の内部処理手順の実行時である。
ここで、データベースはユーザから2次元のテーブル形
式で見られるリレーションから成るものとし、当該テー
ブルの行に対応するものをタプルとするものである。ま
た、タプルは、1つ以上の属性(これを「カラム」とい
う)から成っている。
式で見られるリレーションから成るものとし、当該テー
ブルの行に対応するものをタプルとするものである。ま
た、タプルは、1つ以上の属性(これを「カラム」とい
う)から成っている。
上記従来技術、特に問合せで出現する検索条件式を満足
するデータの割合を基にコスト評価により、最適な処理
手順を決定するものは、プリプロセス処理時、問合せ表
現の検索条件式に変数が出現するので、検索条件式を満
足するデータの割合等を見積もることができず、コスト
評価が不可能であった。そのため、問合せ表現の検索条
件式に変数が出現する場合、検索条件式の種類に応じて
各条件式を満足するデータの割合として適用するデイフ
ォルト値を基にコスト評価を行う、あるいは予め設定し
た規則に基づいて、内部処理手順を唯一作成していた。
するデータの割合を基にコスト評価により、最適な処理
手順を決定するものは、プリプロセス処理時、問合せ表
現の検索条件式に変数が出現するので、検索条件式を満
足するデータの割合等を見積もることができず、コスト
評価が不可能であった。そのため、問合せ表現の検索条
件式に変数が出現する場合、検索条件式の種類に応じて
各条件式を満足するデータの割合として適用するデイフ
ォルト値を基にコスト評価を行う、あるいは予め設定し
た規則に基づいて、内部処理手順を唯一作成していた。
しかし、得られた内部処理手順には、最適性の判断基準
が明確でなく、妥当性に問題がある。
が明確でなく、妥当性に問題がある。
本発明の目的は、最適な内部処理手順を予め単一あるい
は複数実行形式に展開しておき、問合せ実行時に上記手
順を選択し、実行することによって、問合せ処理の性能
向上を実現するデータベース処理方法を提供することに
ある。
は複数実行形式に展開しておき、問合せ実行時に上記手
順を選択し、実行することによって、問合せ処理の性能
向上を実現するデータベース処理方法を提供することに
ある。
上記目的を達成するために、本発明はプリプロセス処理
時に、入力された問合せ表現の検索条件式にホスト言語
の変数が記述されていても実行時に代入される値によっ
て有効となる処理手順の候補を作成する過程と、問合せ
表現の検索条件式に出現するカラムに関するカラム値の
出現回数情報を維持、管理する過程と、問合せ実行時に
代入された定数に従って内部処理手順を選択する過程と
を有するリレーショナルDBMSにおいて、実行時に代
入された値にイづき、カラム値の出現回数情報を利用し
て単一あるいは複数の内部処理手順から最適なものを選
択し、予め実行形式に展開しである内部処理手順を実行
することに特徴がある。
時に、入力された問合せ表現の検索条件式にホスト言語
の変数が記述されていても実行時に代入される値によっ
て有効となる処理手順の候補を作成する過程と、問合せ
表現の検索条件式に出現するカラムに関するカラム値の
出現回数情報を維持、管理する過程と、問合せ実行時に
代入された定数に従って内部処理手順を選択する過程と
を有するリレーショナルDBMSにおいて、実行時に代
入された値にイづき、カラム値の出現回数情報を利用し
て単一あるいは複数の内部処理手順から最適なものを選
択し、予め実行形式に展開しである内部処理手順を実行
することに特徴がある。
(作用〕
本発明のブリプロセス処理では、実行時に代入される値
によって最適となり得る内部処理手順を予め実行形式に
展開しているので、実行時に問合せを最適化処理するの
と比較して、記憶容量が増加するものの、処理負荷が軽
減される。また、実行時に複数の内部処理手順から最適
なものを選択するために、予め検索条件式毎に設定され
たカラム値の出現回数情報を用いるので、インデクス等
データ構造を参照するものと比較して、入出力処理負荷
が軽減される。さらに、入力された問合せによっては、
複数の内部処理手順を展開する必要がないことが、検索
条件式及びカラム値の出現回数情報から判断できれば、
プリプロセス処理時に、唯一の内部処理手順しか作成し
ないのは言うまでもない。
によって最適となり得る内部処理手順を予め実行形式に
展開しているので、実行時に問合せを最適化処理するの
と比較して、記憶容量が増加するものの、処理負荷が軽
減される。また、実行時に複数の内部処理手順から最適
なものを選択するために、予め検索条件式毎に設定され
たカラム値の出現回数情報を用いるので、インデクス等
データ構造を参照するものと比較して、入出力処理負荷
が軽減される。さらに、入力された問合せによっては、
複数の内部処理手順を展開する必要がないことが、検索
条件式及びカラム値の出現回数情報から判断できれば、
プリプロセス処理時に、唯一の内部処理手順しか作成し
ないのは言うまでもない。
以下、本発明の一実施例を図面に基づいて詳細に説明す
る。
る。
第1図は、本発明が適用されDBMSの処理機能の例を
示す、第1図のコマンド例20は、2つの選択条件「C
2=変数名1」と「C3=変数名2」とが論理積で結合
された検索条件式から成る。
示す、第1図のコマンド例20は、2つの選択条件「C
2=変数名1」と「C3=変数名2」とが論理積で結合
された検索条件式から成る。
選択条件の「変数名1」、r変数名2」は、実行時に値
が代入させることを示す、コマンド例20は、DBMS
loに入力され、問合せ処理が行われる。実行時に値を
代入するようなコマンド処理を実現するために、DBM
Sloは、問合せ実行前に行われるプリプロセス処理1
1と問合せ実行を制御する問合せ実行処理12とから成
っている。
が代入させることを示す、コマンド例20は、DBMS
loに入力され、問合せ処理が行われる。実行時に値を
代入するようなコマンド処理を実現するために、DBM
Sloは、問合せ実行前に行われるプリプロセス処理1
1と問合せ実行を制御する問合せ実行処理12とから成
っている。
ブリプロセス処理11は、入力されたコマンドの構文解
析、意味解析を実行する問合せ解析110と、コマンド
で出現する各種条件式から条件を満足するデータの割合
(これを、述語選択率、あるいは単に選択率とも言う)
を推定する述語選択率推定111と、予め設定している
規則を利用し、データベース特性(データベース中の各
種データサイズ、データベースの物理構造、インデクス
の種類や有無等)やシステム特性(バッファサイズ、C
PU性能等)に関する情報を用いて有効なアクセスバス
候補を剪定するアクセスバス剪定112と、入出力回数
、CPU使用時間等コスト評価を行い、内部処理手順の
候補を作成するデータアクセス処理手順生成113と、
前過程で選択された候補を実行形式に展開し、それらを
実行時に代入された値に基づいて選択する機構を実現す
るデータ構造を作成する最適アクセス手順候補設定11
4とから成る0問合せ実行処理12は、実行時に代入さ
れた値に基づき、上記過程114で作成されたデータ構
造より、実行するべき最適な内部処理手順を選択する実
行待最適化120と、前過程で選択された内部処理手順
を解釈、実行する解釈実行処理121とから成る。デー
タベース80には、テーブル81及び統計情報管理テー
ブル82が蓄積されている。統計情報管理テーブル82
は、データベース80の各テーブルを構成するカラム値
の出現回数情報を設定している。30は、コマンド例2
0で出現する条件式の選択率を評価した結果である。ア
クセスバス候補表40は、アクセスバス剪定112で選
択されたアクセスバスを登録している。50は、生成さ
れた処理手順(51゜52.53,54)である、中間
言語木構造60は、実行待最適化部61と中間言語木部
62とカラム値出現回数情報63とから成る。実行待最
適化部61は、実行時に代入された値より、カラム値出
現回数情報63から算出される選択率を判断基準に、中
間言語木部62に格納されている内部処理手順を選択す
る機構を実現するデータ構造である。中間言語木構造セ
クション70は、実行待最適化120で選択された内部
処理手順を格納するための領域である。
析、意味解析を実行する問合せ解析110と、コマンド
で出現する各種条件式から条件を満足するデータの割合
(これを、述語選択率、あるいは単に選択率とも言う)
を推定する述語選択率推定111と、予め設定している
規則を利用し、データベース特性(データベース中の各
種データサイズ、データベースの物理構造、インデクス
の種類や有無等)やシステム特性(バッファサイズ、C
PU性能等)に関する情報を用いて有効なアクセスバス
候補を剪定するアクセスバス剪定112と、入出力回数
、CPU使用時間等コスト評価を行い、内部処理手順の
候補を作成するデータアクセス処理手順生成113と、
前過程で選択された候補を実行形式に展開し、それらを
実行時に代入された値に基づいて選択する機構を実現す
るデータ構造を作成する最適アクセス手順候補設定11
4とから成る0問合せ実行処理12は、実行時に代入さ
れた値に基づき、上記過程114で作成されたデータ構
造より、実行するべき最適な内部処理手順を選択する実
行待最適化120と、前過程で選択された内部処理手順
を解釈、実行する解釈実行処理121とから成る。デー
タベース80には、テーブル81及び統計情報管理テー
ブル82が蓄積されている。統計情報管理テーブル82
は、データベース80の各テーブルを構成するカラム値
の出現回数情報を設定している。30は、コマンド例2
0で出現する条件式の選択率を評価した結果である。ア
クセスバス候補表40は、アクセスバス剪定112で選
択されたアクセスバスを登録している。50は、生成さ
れた処理手順(51゜52.53,54)である、中間
言語木構造60は、実行待最適化部61と中間言語木部
62とカラム値出現回数情報63とから成る。実行待最
適化部61は、実行時に代入された値より、カラム値出
現回数情報63から算出される選択率を判断基準に、中
間言語木部62に格納されている内部処理手順を選択す
る機構を実現するデータ構造である。中間言語木構造セ
クション70は、実行待最適化120で選択された内部
処理手順を格納するための領域である。
次に具体的にコンノドの処理例を示す、この場合、統計
情報管理テーブル82にコマンドの条件式に出現するカ
ラムに関するカラム値出現回数が格納されているものと
する。たとえば、820には、カラムC2の値rloO
Jが1000個存在することを示し、また821にはカ
ラムC3の値「10」と「20」が(2個の出現値)合
計1000個存在することを示している。コマンド例2
0がDBMSに入力され、ブリプロセス処理11が実行
される。この例では、カラムC2,C3ともインデクス
が存在する0問合せ解析110で構文解析、意味解析後
、述語選択率推定111でコマンドに出現する条件式の
選択率が算出される。ただし、各条件式に定数が出現し
ていれば、選択率が決定できる。コマンド例20では、
両選択条件式とも、30に示すように定数が出現しない
ので、選択率が決定できない1次に、アクセスパス剪定
112で入力されたコマンドを実行するのに用いるアク
セスパスを選出する0通常は、前過程111で算出され
た選択率の最も小さなるカラムのインデクスを優先的に
選出する処理となる。しかし、この例では、30におい
て両条件式の選択率が決定できないので、アクセスパス
候補40に示すように、3つのアクセスパスを登録する
。データアクセス処理手順生成113では、アクセスパ
ス候補表40を基に、内部処理手順を生成する。内部処
理手順は、「リレーションアクセス」51゜rC2カラ
ムインデクスJ52.rc:3カラムインデクスJ 5
3.rC2&C3カラムインデクス」54の4個である
。さらに、最適アクセス手順候補設定114では、図に
示す中間言語木構造6゜を作成する。複数の内部処理手
順50に対して予め設定している規則を適用すると、イ
ンデクスがカラムC2,C3とも存在すれば1.「リレ
ーションアクセス」51とrCZ &C3カラムインデ
クス」54との内部処理手順だけを実行時に選択すれば
よいことが分かる。そこで、実行待最適化部61には、
実行時に代入された値に従って判断すべき基準(r両選
択条件式が同時に成り立つ選択率が0.01以上である
か」)とその基準を基に選択すべき内部処理手順を設定
する。中間言語水62には、単一あるいは複数の内部処
理手順の実行形式を設定する。カラム値出現回数情報6
3には、実行時に判断すべき選択率を高精度に見積もる
ために、統計情報管理テーブル82がら、コマンドで出
現する条件式の種類に応じて、全カラム値の出現回数情
報あるいは一部のカラム値の出現回数情報を切り出して
設定する0次に、問合せ実行処理12について示す、C
2=100.C3=10が代入されると、実行待最適化
120が実行される。カラムC2で値rloOJは、カ
ラム値出現回数情報63によると1000回出現するの
で、選択条件rc2=100Jの選択率は、1000/
10000 (出現回数/レコード数)=0.1となる
。
情報管理テーブル82にコマンドの条件式に出現するカ
ラムに関するカラム値出現回数が格納されているものと
する。たとえば、820には、カラムC2の値rloO
Jが1000個存在することを示し、また821にはカ
ラムC3の値「10」と「20」が(2個の出現値)合
計1000個存在することを示している。コマンド例2
0がDBMSに入力され、ブリプロセス処理11が実行
される。この例では、カラムC2,C3ともインデクス
が存在する0問合せ解析110で構文解析、意味解析後
、述語選択率推定111でコマンドに出現する条件式の
選択率が算出される。ただし、各条件式に定数が出現し
ていれば、選択率が決定できる。コマンド例20では、
両選択条件式とも、30に示すように定数が出現しない
ので、選択率が決定できない1次に、アクセスパス剪定
112で入力されたコマンドを実行するのに用いるアク
セスパスを選出する0通常は、前過程111で算出され
た選択率の最も小さなるカラムのインデクスを優先的に
選出する処理となる。しかし、この例では、30におい
て両条件式の選択率が決定できないので、アクセスパス
候補40に示すように、3つのアクセスパスを登録する
。データアクセス処理手順生成113では、アクセスパ
ス候補表40を基に、内部処理手順を生成する。内部処
理手順は、「リレーションアクセス」51゜rC2カラ
ムインデクスJ52.rc:3カラムインデクスJ 5
3.rC2&C3カラムインデクス」54の4個である
。さらに、最適アクセス手順候補設定114では、図に
示す中間言語木構造6゜を作成する。複数の内部処理手
順50に対して予め設定している規則を適用すると、イ
ンデクスがカラムC2,C3とも存在すれば1.「リレ
ーションアクセス」51とrCZ &C3カラムインデ
クス」54との内部処理手順だけを実行時に選択すれば
よいことが分かる。そこで、実行待最適化部61には、
実行時に代入された値に従って判断すべき基準(r両選
択条件式が同時に成り立つ選択率が0.01以上である
か」)とその基準を基に選択すべき内部処理手順を設定
する。中間言語水62には、単一あるいは複数の内部処
理手順の実行形式を設定する。カラム値出現回数情報6
3には、実行時に判断すべき選択率を高精度に見積もる
ために、統計情報管理テーブル82がら、コマンドで出
現する条件式の種類に応じて、全カラム値の出現回数情
報あるいは一部のカラム値の出現回数情報を切り出して
設定する0次に、問合せ実行処理12について示す、C
2=100.C3=10が代入されると、実行待最適化
120が実行される。カラムC2で値rloOJは、カ
ラム値出現回数情報63によると1000回出現するの
で、選択条件rc2=100Jの選択率は、1000/
10000 (出現回数/レコード数)=0.1となる
。
同様にして、カラムC3で値「10」は、カラム値出現
回数情報63によると1000/2=500回出現する
と見積もられるので、選択条件rC3=10」の選択率
は、500 /10000=0.05 となる、する
と、両選択条件式が同時に成り立つ、すなわち、rc2
=100 AND C3=10Jの選択率は、0.
I X O,05=0.005である。これは0.01
よりも小である。結果的に[C2&03カラムインデ
クス」54に対応する内部処理手順の実行形式が選択さ
れる。解釈実行処理121では、前過程で選択された実
行形式の内部処理手順を中間言語木構造セクション70
に設定し、解釈実行処理を行う。
回数情報63によると1000/2=500回出現する
と見積もられるので、選択条件rC3=10」の選択率
は、500 /10000=0.05 となる、する
と、両選択条件式が同時に成り立つ、すなわち、rc2
=100 AND C3=10Jの選択率は、0.
I X O,05=0.005である。これは0.01
よりも小である。結果的に[C2&03カラムインデ
クス」54に対応する内部処理手順の実行形式が選択さ
れる。解釈実行処理121では、前過程で選択された実
行形式の内部処理手順を中間言語木構造セクション70
に設定し、解釈実行処理を行う。
第2図は、本発明が適用されるハードウェア構成の一例
を示すものである。具体的には、主記憶(MM)100
0を保持する中央処理装置(CPU)100と、入出力
制御を行うチャネル装置(CHU)101と、データベ
ース処理において選択、制約。
を示すものである。具体的には、主記憶(MM)100
0を保持する中央処理装置(CPU)100と、入出力
制御を行うチャネル装置(CHU)101と、データベ
ース処理において選択、制約。
射影、結合等の対象となるデータを設定するローカル記
憶(LM)1020を保持するインテリジェントファイ
ル制御装置(IFC)102、及びディスク(DK)1
03とから成る。
憶(LM)1020を保持するインテリジェントファイ
ル制御装置(IFC)102、及びディスク(DK)1
03とから成る。
上記インテリジェントファイル制御装置102とディス
ク103との間では、相対ブロックアドレス及び入出力
データ等が転送され、経路107が用いられる。また、
上記チャネル装置101とインテリジェントファイル制
御装置(IFC)102との間では、フィルタリング処
理結果及び検索条件等が転送され、経路105,106
が用いられる。さらに、中央処理装置100チヤネル装
置101との間では、データ転送、制御データ交換のた
めに経路104が用いられる。経路104及び経路10
6とも、それぞれ複数のチャネル装filo1及びイン
テリジェントファイル制御装置102が接続されていて
も構わない。経路105は、他システムとインテリジェ
ントファイル制御装置102とを共有するために用いら
れてもよいことを示す。
ク103との間では、相対ブロックアドレス及び入出力
データ等が転送され、経路107が用いられる。また、
上記チャネル装置101とインテリジェントファイル制
御装置(IFC)102との間では、フィルタリング処
理結果及び検索条件等が転送され、経路105,106
が用いられる。さらに、中央処理装置100チヤネル装
置101との間では、データ転送、制御データ交換のた
めに経路104が用いられる。経路104及び経路10
6とも、それぞれ複数のチャネル装filo1及びイン
テリジェントファイル制御装置102が接続されていて
も構わない。経路105は、他システムとインテリジェ
ントファイル制御装置102とを共有するために用いら
れてもよいことを示す。
本構成においては、すべてのデータベース処理を、中央
処理装置gloo上で実現されているDBMSloが実
行する方式とは異なる。すなわち、データベース処理の
うち、DBMS 10のデータアクセス処理手順生成1
13で生成する内部処理手順に対応する関係代数演算、
すなわち選択、制約。
処理装置gloo上で実現されているDBMSloが実
行する方式とは異なる。すなわち、データベース処理の
うち、DBMS 10のデータアクセス処理手順生成1
13で生成する内部処理手順に対応する関係代数演算、
すなわち選択、制約。
射影、結合等の諸演算をインテリジェントファイル制御
装置で機能分担するものである。これは、いわゆる入出
力装置に各種演算機能(例えば、フィルタリング処理装
置)を付加するものに相当する。この基本的動作を以下
に示す。
装置で機能分担するものである。これは、いわゆる入出
力装置に各種演算機能(例えば、フィルタリング処理装
置)を付加するものに相当する。この基本的動作を以下
に示す。
(1)アプリケーションプログラムから入力した問合せ
をDBMSloで解析し、処理手順を決定する。
をDBMSloで解析し、処理手順を決定する。
(2)上記処理手順に従って、関係代数演算を切り出し
、インテリジェントファイル制御装置102に処理要求
を発行する。
、インテリジェントファイル制御装置102に処理要求
を発行する。
(3)インテリジェントファイル制御装置1024よ、
処理要求を解釈し、ディスク103に対して物理入出力
要求を発行する。データベース80は、リレーション形
式で格納され、当データベースの管理単位であるページ
がディスク103のデータ転送に同期して読み込まれ、
ローカル記憶1020に設定される。
処理要求を解釈し、ディスク103に対して物理入出力
要求を発行する。データベース80は、リレーション形
式で格納され、当データベースの管理単位であるページ
がディスク103のデータ転送に同期して読み込まれ、
ローカル記憶1020に設定される。
(4)ローカル記憶1020のデータに対して、選択、
制約、射影、結合等演算を行い、フィルタリング処理を
行う。
制約、射影、結合等演算を行い、フィルタリング処理を
行う。
(5)この処理結果を、CPU80の主記憶1000に
設定する。
設定する。
(6)DBMSIOは、当処理結果を編集して、アプリ
ケーションプログラムに問合せ結果を出力する。
ケーションプログラムに問合せ結果を出力する。
下記の(1)〜(5)は、本発明が適用される変数が出
現するコマンドの表現例である。各コマンドの変数部は
、問合せ実行時に定数と置き換えられる。具体的には、
選択条件式、複合条件式、IN条件式、 BET!II
EEN条件式、LIKE条件式に出現する。
現するコマンドの表現例である。各コマンドの変数部は
、問合せ実行時に定数と置き換えられる。具体的には、
選択条件式、複合条件式、IN条件式、 BET!II
EEN条件式、LIKE条件式に出現する。
(1)選択条件式(=、≠、〉、≧、<、≦)SELE
CT CI FROM T VHE!RE C2=変数
名1(2)複合条件式(ANDloR) SELECT CI FROM T WHERE C2
=変数名IAND C3=変数名2 (3)IN条件式 %式% (4) BETIiEEN条件式 5ELECT CI FROM T WHERE C2BETWEEN(変数名1.変数名2
)(5) LIKE条件式 %式% 第3図は、第2図に示すシステム構成を前提に、DBM
Sで提供するアクセスパスに次のものを設定し、またシ
ステム特性としてCPU性能を変化させた結果を示す。
CT CI FROM T VHE!RE C2=変数
名1(2)複合条件式(ANDloR) SELECT CI FROM T WHERE C2
=変数名IAND C3=変数名2 (3)IN条件式 %式% (4) BETIiEEN条件式 5ELECT CI FROM T WHERE C2BETWEEN(変数名1.変数名2
)(5) LIKE条件式 %式% 第3図は、第2図に示すシステム構成を前提に、DBM
Sで提供するアクセスパスに次のものを設定し、またシ
ステム特性としてCPU性能を変化させた結果を示す。
一非りラスタインデクス利用(ソフトウェア方式)
■リレーションスキャン利用(ソフトウェア方式)
冒リレーションスキャン利用(ハードウェア方式)
X軸には、選択率を、y軸には、経過時間比をそれぞれ
設定する。また、Oは、CPU性能がIOMIPS、Δ
は、CPU性能がIMIPSを示す、さらに、1081
■、1082■は、非りラスタインデクス利用(ソフト
ウェア方式)、1083■、1084■は、リレーショ
ンスキャン利用(ソフトウェア方式)、1085■、
1086■は、リレーションスキャン利用(ハードウェ
ア方式)をそれぞれ示す。
設定する。また、Oは、CPU性能がIOMIPS、Δ
は、CPU性能がIMIPSを示す、さらに、1081
■、1082■は、非りラスタインデクス利用(ソフト
ウェア方式)、1083■、1084■は、リレーショ
ンスキャン利用(ソフトウェア方式)、1085■、
1086■は、リレーションスキャン利用(ハードウェ
ア方式)をそれぞれ示す。
この結果、次のことが言える。
■DBマシン有、CPU性能がIMIPSでは、108
1■と1082■の交点より選択率が0.5%以上であ
れば、DBマシン利用のリレーションスキャンが有効 ■DBマシン有、CPU性能がIOMIPSでは、10
82■と1086■の交点より選択率が0.9%以上で
あれば、DBマシン利用のリレーションスキャンが有効 ■DBマシン無、CPU性能がIMIPSでは、1o8
1■と1083■の交点より選択率が6%以上であれば
、ソフトウェア方式によるリレーションスキャンが有効 ■DBマシン無、CPU性能がIOMIPSでは、10
82■と1084■の交点より選択率が2%以上であれ
ば、ソフトウェア方式によるリレーションスキャンが有
効 DBマシンの有無及びCPU性能によって、各アクセス
パスの有効範囲が変化することが分かる。
1■と1082■の交点より選択率が0.5%以上であ
れば、DBマシン利用のリレーションスキャンが有効 ■DBマシン有、CPU性能がIOMIPSでは、10
82■と1086■の交点より選択率が0.9%以上で
あれば、DBマシン利用のリレーションスキャンが有効 ■DBマシン無、CPU性能がIMIPSでは、1o8
1■と1083■の交点より選択率が6%以上であれば
、ソフトウェア方式によるリレーションスキャンが有効 ■DBマシン無、CPU性能がIOMIPSでは、10
82■と1084■の交点より選択率が2%以上であれ
ば、ソフトウェア方式によるリレーションスキャンが有
効 DBマシンの有無及びCPU性能によって、各アクセス
パスの有効範囲が変化することが分かる。
システム特性、データベース特性等が決まれば、−意に
処理時間等を把握するコスト評価式が設定できる。する
と、各アクセスパスの適用範囲を解析的に示すことがで
きる。したがって、−数的にこれらの要因を考慮してア
クセスパス剪定基準を次に示すように設けることが可能
となる。
処理時間等を把握するコスト評価式が設定できる。する
と、各アクセスパスの適用範囲を解析的に示すことがで
きる。したがって、−数的にこれらの要因を考慮してア
クセスパス剪定基準を次に示すように設けることが可能
となる。
規則1:if 5(P)≦0.005 thon
非クラスタインデスク利用(−DBマシン有 e
lse リレーションスキャン利用−CPU:IMI
PS) (ハードウェア方式)規則2
:if 5(P)≦0.009 thsn 非クラ
スタインデスク利用(−DBマシン有 else
リレーションスキャン利用−CPU: IOMIP
S) (ハードウェア方式)規則3:i
f 5(P)≦0.06 then 非クラスタ
インデスク利用(−DBマシン無 else
リレーションスキャン利用−CPU:IMIPs)
(ソフトウェア方式)規則4:if
5(P)≦0.02 then 非クラスタインデ
スク利用(−DBマシン無 else リレー
ションスキャン利用−cpυ: IOMIPS)
(ソフトウェア方式)ここで、記法について
説明する0問合せは、多くの場合、複数の単位条件式が
ANDloRで結合される複合条件式を含む、ここで、
複合条件式は、 CN F (Conjunctiva
Normal Form)、あるいはD N F (
Cisjunctive Normal Form)の
いずれかであると仮定する。以下では、次の記法を用い
る。
非クラスタインデスク利用(−DBマシン有 e
lse リレーションスキャン利用−CPU:IMI
PS) (ハードウェア方式)規則2
:if 5(P)≦0.009 thsn 非クラ
スタインデスク利用(−DBマシン有 else
リレーションスキャン利用−CPU: IOMIP
S) (ハードウェア方式)規則3:i
f 5(P)≦0.06 then 非クラスタ
インデスク利用(−DBマシン無 else
リレーションスキャン利用−CPU:IMIPs)
(ソフトウェア方式)規則4:if
5(P)≦0.02 then 非クラスタインデ
スク利用(−DBマシン無 else リレー
ションスキャン利用−cpυ: IOMIPS)
(ソフトウェア方式)ここで、記法について
説明する0問合せは、多くの場合、複数の単位条件式が
ANDloRで結合される複合条件式を含む、ここで、
複合条件式は、 CN F (Conjunctiva
Normal Form)、あるいはD N F (
Cisjunctive Normal Form)の
いずれかであると仮定する。以下では、次の記法を用い
る。
■Pi・・・・・・単位条件式(選択条件式、 IN/
積、Σ・・・・・・総和 ■5(Pi)・・・・・・単位条件式Piの選択率(以
下では、比率で示す) ■MAX (S (Pi))・・・・・・述語式Piの
変数に代入される値によって算出される選択率のなかで
最大なもの ■MIN (S (Pi))・・・・・・述語式Piの
変数に代入される値によって算出される選択率のなかで
最小なもの 複合条件式の選択率は次式で評価する。単位条件式間の
関連性を考慮して選択率を算出する提案があるものの、
関連性を把握する機構の実現が困難である。ここで、各
条件式は互いに独立であるn
n S (VPi)=ΣS (Pi)−nS (Pi)n
n
nただし、nは単位条件式数である。
積、Σ・・・・・・総和 ■5(Pi)・・・・・・単位条件式Piの選択率(以
下では、比率で示す) ■MAX (S (Pi))・・・・・・述語式Piの
変数に代入される値によって算出される選択率のなかで
最大なもの ■MIN (S (Pi))・・・・・・述語式Piの
変数に代入される値によって算出される選択率のなかで
最小なもの 複合条件式の選択率は次式で評価する。単位条件式間の
関連性を考慮して選択率を算出する提案があるものの、
関連性を把握する機構の実現が困難である。ここで、各
条件式は互いに独立であるn
n S (VPi)=ΣS (Pi)−nS (Pi)n
n
nただし、nは単位条件式数である。
なお、以下の議論では第3図に示すアクセスパスを仮定
する。すなわち、選択率が1%以下であればインデクス
利用が有効であり、それ以外であればリレーションスキ
ャン利用を有効であるとする。
する。すなわち、選択率が1%以下であればインデクス
利用が有効であり、それ以外であればリレーションスキ
ャン利用を有効であるとする。
第4図は、本発明を適用したDBMSの処理のフローチ
ャートである。DBMSは、問合せ実行前に行われる問
合せの解析処理、^適化、実行形式変換を実現するプリ
プロセス処理900と、変数に定数を代入し、実行待最
適化でデータアクセス処理手順を選択後、問合せの解釈
実行制御を実現している問合せ実行処理960とからな
る。
ャートである。DBMSは、問合せ実行前に行われる問
合せの解析処理、^適化、実行形式変換を実現するプリ
プロセス処理900と、変数に定数を代入し、実行待最
適化でデータアクセス処理手順を選択後、問合せの解釈
実行制御を実現している問合せ実行処理960とからな
る。
各処理部について述べる。
(a)プリプロセス処理900
間開合せ解析910・・・・・・入力された問合せコマ
ンドの構文解析、意味解析を実行 ■述語選択率推定920・・・・・・問合せで出現する
各種条件式から条件を満足するデータの割合(これを述
語選択率、あるいは単に選択率とも言う)を推定 ■アクセスパス剪定930・・・・・・予め設定してい
る規測を基に、有効なアクセスパス候補を剪定■処理手
順生成940・・・・・・入出力回数、CPU処理時間
等コスト評価を行い、データアクセス処理手順の候補を
作成 ■手順候補設定950・・・・・・選出されたデータア
クセス処理手順候補を実行形式に展開し、それらを実行
時に代入された定数に基づいて選択する機構を実現した
データ構造(中間言語木構造)を作成 (b)問合せ実行処理960 扉実行時最寺化970・・・・・・問合せ実行時に代入
された定数に基づき、上記手順候補設定過程で作成され
た中間言語木構造より、実行すべき最適なデータアクセ
ス処理手順を決定し、中間言語木構造セクションに当手
順を展開 ■解釈実行処理980・・・・・・上記実行待最適化過
程で決定されたデータアクセス処理手順を解釈。
ンドの構文解析、意味解析を実行 ■述語選択率推定920・・・・・・問合せで出現する
各種条件式から条件を満足するデータの割合(これを述
語選択率、あるいは単に選択率とも言う)を推定 ■アクセスパス剪定930・・・・・・予め設定してい
る規測を基に、有効なアクセスパス候補を剪定■処理手
順生成940・・・・・・入出力回数、CPU処理時間
等コスト評価を行い、データアクセス処理手順の候補を
作成 ■手順候補設定950・・・・・・選出されたデータア
クセス処理手順候補を実行形式に展開し、それらを実行
時に代入された定数に基づいて選択する機構を実現した
データ構造(中間言語木構造)を作成 (b)問合せ実行処理960 扉実行時最寺化970・・・・・・問合せ実行時に代入
された定数に基づき、上記手順候補設定過程で作成され
た中間言語木構造より、実行すべき最適なデータアクセ
ス処理手順を決定し、中間言語木構造セクションに当手
順を展開 ■解釈実行処理980・・・・・・上記実行待最適化過
程で決定されたデータアクセス処理手順を解釈。
実行
また、各処理部の詳細なフローチャートの説明を行う。
問合せ解析910は、問合せコマンドの構文解析、意味
解析を実行しくステップ911)、コマンドに出現する
条件式をCNFかDNFに変換する(ステップ912)
。
解析を実行しくステップ911)、コマンドに出現する
条件式をCNFかDNFに変換する(ステップ912)
。
述語選択率推定920は、問合せの条件式に出現する各
述語に変数が出現するかチエツクしくステップ921)
、出現すれば当述語のカラム値分布情報があることを確
認して終了する(ステップ921→923)、もし、出
現しなければ当述語のカラム値分布情報があることを確
認する。(ステップ921→922)、当述語のカラム
値分布情報があれば、選択率を算出し、終了する(ステ
ップ922→925)、当述語のカラム値分布情報がな
ければ、述語の種類に応じて、予め設定しているデイフ
ォルト値を選択率として設定する(ステップ922→9
24と923→924)。
述語に変数が出現するかチエツクしくステップ921)
、出現すれば当述語のカラム値分布情報があることを確
認して終了する(ステップ921→923)、もし、出
現しなければ当述語のカラム値分布情報があることを確
認する。(ステップ921→922)、当述語のカラム
値分布情報があれば、選択率を算出し、終了する(ステ
ップ922→925)、当述語のカラム値分布情報がな
ければ、述語の種類に応じて、予め設定しているデイフ
ォルト値を選択率として設定する(ステップ922→9
24と923→924)。
アクセスバス剪定930は、問合せの条件式に出現する
各述語で出現するカラムのインデクスを候補として登録
する(ステップ931)、次に、DBマシンが利用可能
かチエツクしくステップ932)、可能ならばリレーシ
ョンスキャン(ハードウェア方式)を候補として登録し
くステップ934)、可能でないならばリレーションス
キャン(ソフトウェア方式)を候補として登録する(ス
テップ933)、既に、各述語の選択率が設定済みであ
からチエツクしくステップ935)、設定済みであれば
選択率の小となる述語のインデクス順に優先度を高くシ
、(ステップ936)、設定済みでなければ述語Piに
関し、代入され得る値によって選択率として取り得る最
大値/最小値を求める(ステップ937)、さらに、C
PU性能、DBマシン有無等システム特性よりアクセス
バス剪定基準を決定する。(ステップ938)。
各述語で出現するカラムのインデクスを候補として登録
する(ステップ931)、次に、DBマシンが利用可能
かチエツクしくステップ932)、可能ならばリレーシ
ョンスキャン(ハードウェア方式)を候補として登録し
くステップ934)、可能でないならばリレーションス
キャン(ソフトウェア方式)を候補として登録する(ス
テップ933)、既に、各述語の選択率が設定済みであ
からチエツクしくステップ935)、設定済みであれば
選択率の小となる述語のインデクス順に優先度を高くシ
、(ステップ936)、設定済みでなければ述語Piに
関し、代入され得る値によって選択率として取り得る最
大値/最小値を求める(ステップ937)、さらに、C
PU性能、DBマシン有無等システム特性よりアクセス
バス剪定基準を決定する。(ステップ938)。
第3図より、基準値vOは約0.01である。最後に、
単一/複数インデクスを組合せたアクセスバスで選択率
が上記基準より小であるばのだけ候補として登録する(
ステップ939)。
単一/複数インデクスを組合せたアクセスバスで選択率
が上記基準より小であるばのだけ候補として登録する(
ステップ939)。
処理手順生成940は、次のフローで処理される。
easel:条件式がCNFである。
(i) ヨに、 MAX (S (Pk) )≦0.
01仝Pkを構成するインデクスをアクセスバスとして
選択する単一のデータアクセス処理手順作成(ステップ
9407→9410)(it) nMAX (S (
Pi))≦0.01(m:インデクスが存在する単位条
件式数)中複数のインデクスを用いる単一のデータアク
セス処理手順を作成(ステップ9408→9411) (in) I’IIM I N (S (P i )
)≧0.01(m:インデクスが存在する単位条件式
数)◆リレーションスキャンを用いる単一のデータアク
セス処理手順を作成(ステップ9409→(〜)(i)
、(…)、(iii)以外の場合中復数のデータアクセ
ス処理手順を作成(ステップ9413) casa2:条件式がDNFである。
01仝Pkを構成するインデクスをアクセスバスとして
選択する単一のデータアクセス処理手順作成(ステップ
9407→9410)(it) nMAX (S (
Pi))≦0.01(m:インデクスが存在する単位条
件式数)中複数のインデクスを用いる単一のデータアク
セス処理手順を作成(ステップ9408→9411) (in) I’IIM I N (S (P i )
)≧0.01(m:インデクスが存在する単位条件式
数)◆リレーションスキャンを用いる単一のデータアク
セス処理手順を作成(ステップ9409→(〜)(i)
、(…)、(iii)以外の場合中復数のデータアクセ
ス処理手順を作成(ステップ9413) casa2:条件式がDNFである。
(i) ΣMAX (S (Pi))−nMIN(S
(Pi))n
n≦0.01 (n:全単位条件式数) 中復数のインデクスを用いる単一のデータアクセス処理
手順を作成(ステップ9403→9404) (n) ΣM I X (S (P i) ) −r
IMAX(S(Pi))n
n≧0.01 (n:全単位条件式数) 中リレーションスキャンを用いる単一のデータアクセス
処理手順を作成(ステップ9405→9406) (in) (i)、 (ii)以外の場合◆複数のデ
ータアクセス処理手順を作成(ステップ9413) 手順候補設定950は、処理手順が単一かどうかチエツ
クしくステップ951)、単一であれば処理手順を実行
形式に展開する(ステップ956)。
(Pi))n
n≦0.01 (n:全単位条件式数) 中復数のインデクスを用いる単一のデータアクセス処理
手順を作成(ステップ9403→9404) (n) ΣM I X (S (P i) ) −r
IMAX(S(Pi))n
n≧0.01 (n:全単位条件式数) 中リレーションスキャンを用いる単一のデータアクセス
処理手順を作成(ステップ9405→9406) (in) (i)、 (ii)以外の場合◆複数のデ
ータアクセス処理手順を作成(ステップ9413) 手順候補設定950は、処理手順が単一かどうかチエツ
クしくステップ951)、単一であれば処理手順を実行
形式に展開する(ステップ956)。
単一でなければ、条件式が選択条件式(=、≠)、LI
KE条件式であるかチエツクする(ステップ952)、
選択条件式(=、≠)、LIKE条件式であれば、光条
件式で出現するカラム値分布情報から条件式を満足する
ロー数が全ロー数の1%を超えるカラム値についてだけ
カラム値出現回数情報として埋め込む(ステップ953
)、それ以外の条件式であれば、元のカラム値分布情報
を埋め込む(ステップ954)、次に、問合せ実行時に
代入された定数に基づいて処理手順を選択する機構を実
現した中間言語木構造を作成しくステップ955)、処
理手順を実行形式に展開する(ステップ956)。
KE条件式であるかチエツクする(ステップ952)、
選択条件式(=、≠)、LIKE条件式であれば、光条
件式で出現するカラム値分布情報から条件式を満足する
ロー数が全ロー数の1%を超えるカラム値についてだけ
カラム値出現回数情報として埋め込む(ステップ953
)、それ以外の条件式であれば、元のカラム値分布情報
を埋め込む(ステップ954)、次に、問合せ実行時に
代入された定数に基づいて処理手順を選択する機構を実
現した中間言語木構造を作成しくステップ955)、処
理手順を実行形式に展開する(ステップ956)。
実行待最適化970は、処理手順が単一かどうかチエツ
クしくステップ9701)、単一であれば終了する。単
一でなければ、問合せ実行時に代入された定数を基に選
択率を算出する(ステップ9702)、次に、以下のフ
ローで処理される。
クしくステップ9701)、単一であれば終了する。単
一でなければ、問合せ実行時に代入された定数を基に選
択率を算出する(ステップ9702)、次に、以下のフ
ローで処理される。
easel:条件式がDNFである
(i) ヨに、 S (Pk)≦0.019Pkを構
成するインデクスをアクセスバスとして選択 (ステップ9707→9710) (it) rIS (Pi) ≦0.01(m:
インデクスが存在する単位条件式数)中復数のインデク
スを用いるデータアクセス処理手順を選択(ステップ9
708→9711)(iii) (i)、(ii)以
外の場合中リレーションスキャンをアクセスバスとして
選択(ステップ9709) cass2:条件式がDNFである。
成するインデクスをアクセスバスとして選択 (ステップ9707→9710) (it) rIS (Pi) ≦0.01(m:
インデクスが存在する単位条件式数)中復数のインデク
スを用いるデータアクセス処理手順を選択(ステップ9
708→9711)(iii) (i)、(ii)以
外の場合中リレーションスキャンをアクセスバスとして
選択(ステップ9709) cass2:条件式がDNFである。
(i) ΣS (Pi) nS (Pi)≦0.0
1n n(n:全単位
条件式数) +複数のインデクスを用いるデータアクセス処理手順を
選択(ステップ9705→9706)(ii) (i
)以外の場合 中リレーションスキャンをアクセスバスとして選択(ス
テップ9709) 解釈実行処理980は1選択された実行形式の処理手順
を解釈し、問合せコマンドを実行する(ステップ981
)。
1n n(n:全単位
条件式数) +複数のインデクスを用いるデータアクセス処理手順を
選択(ステップ9705→9706)(ii) (i
)以外の場合 中リレーションスキャンをアクセスバスとして選択(ス
テップ9709) 解釈実行処理980は1選択された実行形式の処理手順
を解釈し、問合せコマンドを実行する(ステップ981
)。
これまでの処理過程を経て、変数を含む問合せが実行さ
れる。
れる。
以上、処理フローを説明した0本発明のプリプロセス処
理方法は、統計情報を用いた規則とコスト評価との併用
に限らず、適当なデータベース参照特性情報を与える内
部従来手順が得られるものであれば、例えばコスト評価
のみ規則利用のみ、コスト評価と規則利用の併用等の最
適化処理を行うDBMSにも適用できる。上記データベ
ース参照特性は、入力された問合せからDBMSが自動
的に判断されるのはもちろん、ユーザからの指定(プリ
プロセス処理時あるいは問合せ実行処理時)で決定され
てもよい、また、問合せで出現する条件式によっては、
複数の実行形式の内部処理手順を展開しておき、問合せ
実行時に島内部処理手順を選択する必要がないという判
断が最適アクセス手順候補設定114で行なわれれば、
従来のプリプロセス処理同様、唯一の実行形式の内部処
理手順を生成するのは言うまでもない、さらに、カラム
値の出現回数に関する情報は、データベースに格納しな
くとも、データディレクトリあるいはディレクトリ等に
格納されてもよ゛い、従来のインデクスをアクセスして
もカラム値の出現回数ま取得できるので、インデクスよ
りカラム値の出現回数情報も設定可能である。最後に、
実行時にカラム値の出現回数情報を、上記データベース
、データディレクトリ、ディレクトリ、インヂクス等か
ら得て、内部処理手順を選択することも可能である。
理方法は、統計情報を用いた規則とコスト評価との併用
に限らず、適当なデータベース参照特性情報を与える内
部従来手順が得られるものであれば、例えばコスト評価
のみ規則利用のみ、コスト評価と規則利用の併用等の最
適化処理を行うDBMSにも適用できる。上記データベ
ース参照特性は、入力された問合せからDBMSが自動
的に判断されるのはもちろん、ユーザからの指定(プリ
プロセス処理時あるいは問合せ実行処理時)で決定され
てもよい、また、問合せで出現する条件式によっては、
複数の実行形式の内部処理手順を展開しておき、問合せ
実行時に島内部処理手順を選択する必要がないという判
断が最適アクセス手順候補設定114で行なわれれば、
従来のプリプロセス処理同様、唯一の実行形式の内部処
理手順を生成するのは言うまでもない、さらに、カラム
値の出現回数に関する情報は、データベースに格納しな
くとも、データディレクトリあるいはディレクトリ等に
格納されてもよ゛い、従来のインデクスをアクセスして
もカラム値の出現回数ま取得できるので、インデクスよ
りカラム値の出現回数情報も設定可能である。最後に、
実行時にカラム値の出現回数情報を、上記データベース
、データディレクトリ、ディレクトリ、インヂクス等か
ら得て、内部処理手順を選択することも可能である。
本発明は、大型計算機のソフトウェアシステムを介して
実現することも、また各処理部のために専用プロセッサ
が用意された複合プロセッサシステムを介して実現する
ことも可能である。
実現することも、また各処理部のために専用プロセッサ
が用意された複合プロセッサシステムを介して実現する
ことも可能である。
(発明の効果〕
本発明によれば、実行時に代入される値によって最適と
なる内部処理手順が異なる問合せに対して、(1)予め
内部処理手順を実行形式に展開しているので、実行時に
最適化するものと比較して、CPU負荷が軽減され、(
2)カラム値の出現回数情報を基にして内部処理手順を
選択するので、最適な内部処理手順が選択でき、CPU
負荷、I10回数も軽減される、という効果がある。
なる内部処理手順が異なる問合せに対して、(1)予め
内部処理手順を実行形式に展開しているので、実行時に
最適化するものと比較して、CPU負荷が軽減され、(
2)カラム値の出現回数情報を基にして内部処理手順を
選択するので、最適な内部処理手順が選択でき、CPU
負荷、I10回数も軽減される、という効果がある。
第1図は本発明が適用されたDBMSの処理例を示す機
能図、第2図は本発明が適用されるハードウェハ構成の
一例を示す図、第3図はDBMSで提供するアクセスバ
スの評価を示す図、第4図は本発明を適用したDBMS
の処理のフローチャートである。 10・・・データベース管理システム、11・・・ブリ
プロセス処理、12・・・問合せ実行処理、80・・・
デー第2図 茅3凹 第 L 図 qoo フ9ソプロを入存11L 9もO筒金も大片尺復
能図、第2図は本発明が適用されるハードウェハ構成の
一例を示す図、第3図はDBMSで提供するアクセスバ
スの評価を示す図、第4図は本発明を適用したDBMS
の処理のフローチャートである。 10・・・データベース管理システム、11・・・ブリ
プロセス処理、12・・・問合せ実行処理、80・・・
デー第2図 茅3凹 第 L 図 qoo フ9ソプロを入存11L 9もO筒金も大片尺復
Claims (1)
- 【特許請求の範囲】 1、データベースに対するユーザからの問合せを解析し
て対応する内部処理手順を決定し、それを実行するデー
タベース処理装置において、プリプロセス処理時に入力
された問合せの解析結果とデータベースシステムの統計
情報とから単一あるいは複数の内部処理手順を選定する
過程と、問合せ実行処理時に問合せに代入される値とデ
ータベースシステムの統計情報とから最適な内部処理手
順を選択する判断基準を作成する過程と、入力された問
合せに対して単一あるいは複数の内部処理手段を格納す
る過程と、データベースシステムの統計情報の一部を切
り出し、カラム値の出現回数情報として格納する過程と
を含むデータベース処理方法。 2、特許請求の範囲第1項記載のデータベース処理方法
において、データベースシステムの統計情報は、データ
ベース特性、システム特性、データ特性、少なくともリ
レーションを構成するカラムの出現値、あるいはカラム
の出現値を分割した結果得られる範囲値とカラム値の出
現回数と当該範囲に出現するカラム値の個数に関する情
報を含むデータベース処理方法。 3、特許請求の範囲第1項記載のデータベース処理方法
において、内部処理手順がプリプロセス処理時、あるい
は問合せ実行処理にユーザの指定によつても決定される
過程を含むデータベース処理方法。 4、特許請求の範囲第1項記載のデータベース処理方法
において、入力された問合せの解析結果とデータベース
の統計情報とから、複数の内部処理手順を展開する必要
がないと判断した場合、単一の内部処理手順を作成する
過程を含むデータベース処理方法。 5、特許請求の範囲第1項記載のデータベース処理方法
において、カラム値の出現回数情報をデータベース、デ
ータディレクトリ、デーイレクトリ、あるいはインデッ
クスより取得し、また問合せ実行処理時に予め作成され
たカラム値出現回数情報を格納する領域、あるいは上記
データベース等より動的に取得する過程を含むデータベ
ース処理方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63017071A JP2760794B2 (ja) | 1988-01-29 | 1988-01-29 | データベース処理方法および装置 |
US07/302,307 US5091852A (en) | 1988-01-29 | 1989-01-25 | System for optimizing query processing in a relational database |
DE68927413T DE68927413T2 (de) | 1988-01-29 | 1989-01-25 | Verfahren und Vorrichtung zur Datenbankverarbeitung |
EP89101283A EP0326927B1 (en) | 1988-01-29 | 1989-01-25 | Method and apparatus for processing a database |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63017071A JP2760794B2 (ja) | 1988-01-29 | 1988-01-29 | データベース処理方法および装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH01194028A true JPH01194028A (ja) | 1989-08-04 |
JP2760794B2 JP2760794B2 (ja) | 1998-06-04 |
Family
ID=11933752
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP63017071A Expired - Lifetime JP2760794B2 (ja) | 1988-01-29 | 1988-01-29 | データベース処理方法および装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US5091852A (ja) |
EP (1) | EP0326927B1 (ja) |
JP (1) | JP2760794B2 (ja) |
DE (1) | DE68927413T2 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0232472A (ja) * | 1988-07-22 | 1990-02-02 | Nippon Telegr & Teleph Corp <Ntt> | 関係データベースのアクセスパス決定処理方法 |
JPH09231115A (ja) * | 1996-02-23 | 1997-09-05 | Mitsubishi Electric Corp | データベース処理方法 |
JP2007506191A (ja) * | 2003-09-15 | 2007-03-15 | エービー イニティオ ソフトウェア コーポレーション | データプロファイリング |
JP2008027072A (ja) * | 2006-07-19 | 2008-02-07 | Fujitsu Ltd | データベース分析プログラム、データベース分析装置、データベース分析方法 |
WO2012017529A1 (ja) * | 2010-08-04 | 2012-02-09 | 株式会社日立製作所 | データベース管理方法、データベース管理装置及びデータベース管理プログラム |
Families Citing this family (132)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5696916A (en) * | 1985-03-27 | 1997-12-09 | Hitachi, Ltd. | Information storage and retrieval system and display method therefor |
JPH03129472A (ja) * | 1989-07-31 | 1991-06-03 | Ricoh Co Ltd | 文書検索装置における処理方法 |
US6978277B2 (en) * | 1989-10-26 | 2005-12-20 | Encyclopaedia Britannica, Inc. | Multimedia search system |
US5241671C1 (en) | 1989-10-26 | 2002-07-02 | Encyclopaedia Britannica Educa | Multimedia search system using a plurality of entry path means which indicate interrelatedness of information |
GB8929158D0 (en) * | 1989-12-23 | 1990-02-28 | Int Computers Ltd | Database system |
EP0444358B1 (en) * | 1990-02-27 | 1998-08-19 | Oracle Corporation | Dynamic optimization of a single relation access |
US5761493A (en) * | 1990-04-30 | 1998-06-02 | Texas Instruments Incorporated | Apparatus and method for adding an associative query capability to a programming language |
JPH0415839A (ja) * | 1990-05-10 | 1992-01-21 | Toshiba Corp | 分散データベース管理装置 |
JP2525275B2 (ja) * | 1990-07-17 | 1996-08-14 | 三洋電機株式会社 | デ―タベ―ス操作方法 |
US5408652A (en) * | 1990-08-31 | 1995-04-18 | Fujitsu Limited | Method and apparatus for heterogenous database access by generating different access procedures for different database data structures |
US5742809A (en) * | 1990-08-31 | 1998-04-21 | Fujitsu Limited | Database generic composite structure processing system |
GB9023096D0 (en) * | 1990-10-24 | 1990-12-05 | Int Computers Ltd | Database search processor |
US5379419A (en) * | 1990-12-07 | 1995-01-03 | Digital Equipment Corporation | Methods and apparatus for accesssing non-relational data files using relational queries |
JP2819517B2 (ja) * | 1990-12-17 | 1998-10-30 | インターナショナル・ビジネス・マシーンズ・コーポレイション | データベース照会を行う方法およびシステム |
US5325525A (en) * | 1991-04-04 | 1994-06-28 | Hewlett-Packard Company | Method of automatically controlling the allocation of resources of a parallel processor computer system by calculating a minimum execution time of a task and scheduling subtasks against resources to execute the task in the minimum time |
US5347652A (en) * | 1991-06-26 | 1994-09-13 | International Business Machines Corporation | Method and apparatus for saving and retrieving functional results |
WO1993007564A1 (en) * | 1991-10-10 | 1993-04-15 | Acucobol, Inc. | Computer system for generating sql statements from cobol code |
US5421008A (en) * | 1991-11-08 | 1995-05-30 | International Business Machines Corporation | System for interactive graphical construction of a data base query and storing of the query object links as an object |
JP2792293B2 (ja) * | 1991-11-29 | 1998-09-03 | 日本電気株式会社 | 情報検索装置 |
US5345585A (en) * | 1991-12-02 | 1994-09-06 | International Business Machines Corporation | Method for optimizing processing of join queries by determining optimal processing order and assigning optimal join methods to each of the join operations |
US5367675A (en) * | 1991-12-13 | 1994-11-22 | International Business Machines Corporation | Computer automated system and method for optimizing the processing of a query in a relational database system by merging subqueries with the query |
FR2696853B1 (fr) * | 1992-10-12 | 1994-12-23 | Bull Sa | Procédé d'aide à l'optimisation d'une requête d'un système de gestion, de base de données relationnel et procédé d'analyse syntaxique en résultant. |
JP3163141B2 (ja) * | 1992-01-30 | 2001-05-08 | 富士通株式会社 | リレーショナルデータベース処理装置および処理方法 |
US5519860A (en) * | 1992-01-31 | 1996-05-21 | Syncsort Incorporated | Central processor index sort followed by direct record sort and write by an intelligent control unit |
JPH05233720A (ja) * | 1992-02-20 | 1993-09-10 | Fujitsu Ltd | Dbにおけるデータベースアシスト方法 |
US5404507A (en) * | 1992-03-02 | 1995-04-04 | At&T Corp. | Apparatus and method for finding records in a database by formulating a query using equivalent terms which correspond to terms in the input query |
US5495578A (en) * | 1992-04-06 | 1996-02-27 | Hewlett-Packard Company | Apparatus and method for changing the behavior of a computer program while retaining control of program execution |
US5301317A (en) * | 1992-04-27 | 1994-04-05 | International Business Machines Corporation | System for adapting query optimization effort to expected execution time |
US5412806A (en) * | 1992-08-20 | 1995-05-02 | Hewlett-Packard Company | Calibration of logical cost formulae for queries in a heterogeneous DBMS using synthetic database |
FR2696852B1 (fr) * | 1992-10-12 | 1994-12-23 | Bull Sa | Procédé d'aide à l'optimisation d'une requête d'un système de gestion de base de données relationnel. |
US5692171A (en) * | 1992-11-20 | 1997-11-25 | Bull S.A. | Method of extracting statistical profiles, and use of the statistics created by the method |
US5469568A (en) * | 1993-01-07 | 1995-11-21 | International Business Machines Corporation | Method for choosing largest selectivities among eligible predicates of join equivalence classes for query optimization |
US5752034A (en) * | 1993-01-15 | 1998-05-12 | Texas Instruments Incorporated | Apparatus and method for providing an event detection notification service via an in-line wrapper sentry for a programming language |
JP3266351B2 (ja) * | 1993-01-20 | 2002-03-18 | 株式会社日立製作所 | データベース管理システムおよび問合せの処理方法 |
US6556988B2 (en) | 1993-01-20 | 2003-04-29 | Hitachi, Ltd. | Database management apparatus and query operation therefor, including processing plural database operation requests based on key range of hash code |
US5911138A (en) * | 1993-06-04 | 1999-06-08 | International Business Machines Corporation | Database search facility having improved user interface |
US5544355A (en) * | 1993-06-14 | 1996-08-06 | Hewlett-Packard Company | Method and apparatus for query optimization in a relational database system having foreign functions |
CA2172514C (en) * | 1993-09-27 | 2000-02-22 | Gary Hallmark | Method and apparatus for parallel processing in a database system |
US5765146A (en) * | 1993-11-04 | 1998-06-09 | International Business Machines Corporation | Method of performing a parallel relational database query in a multiprocessor environment |
US5623693A (en) * | 1994-02-17 | 1997-04-22 | International Business Machines Corporation | System for performing action by sorting actions into immediate and deferred queues, processing immediate queue while still sorting, and appending deferred queue to immediate after sorting |
US5600831A (en) * | 1994-02-28 | 1997-02-04 | Lucent Technologies Inc. | Apparatus and methods for retrieving information by modifying query plan based on description of information sources |
US5640550A (en) * | 1994-04-15 | 1997-06-17 | Coker; Drake | Computer system for generating SQL statements from COBOL code |
US5826076A (en) * | 1994-05-13 | 1998-10-20 | Liant Software Corporation | Computer-based information access method and apparatus to permit SQL-based manipulation of programming language-specific data files |
CA2124094C (en) * | 1994-05-20 | 1999-07-20 | K. Bernhard Schiefer | Method and apparatus for optimizing data retrieval using index scanning |
US5758144A (en) * | 1994-06-24 | 1998-05-26 | International Business Machines Corporation | Database execution cost and system performance estimator |
US5680603A (en) * | 1994-10-20 | 1997-10-21 | International Business Machines Corporation | Method and apparatus for reordering complex SQL queries containing inner and outer join operations |
US5745748A (en) * | 1994-12-09 | 1998-04-28 | Sprint Communication Co. L.P. | System and method for direct accessing of remote data |
US5701454A (en) * | 1995-01-17 | 1997-12-23 | International Business Machines Corporation | Simplification of SQL queries using generalized inference propagation and generalized transitive closure |
US5687362A (en) * | 1995-01-30 | 1997-11-11 | International Business Machines Corporation | Enumerating projections in SQL queries containing outer and full outer joins in the presence of inner joins |
US5590324A (en) * | 1995-02-07 | 1996-12-31 | International Business Machines Corporation | Optimization of SQL queries using universal quantifiers, set intersection, and max/min aggregation in the presence of nullable columns |
US5548754A (en) * | 1995-02-07 | 1996-08-20 | International Business Machines Corporation | Optimization of SQL queries using early-out join transformations |
US5615361A (en) * | 1995-02-07 | 1997-03-25 | International Business Machines Corporation | Exploitation of uniqueness properties using a 1-tuple condition for the optimization of SQL queries |
US5894311A (en) * | 1995-08-08 | 1999-04-13 | Jerry Jackson Associates Ltd. | Computer-based visual data evaluation |
US5774692A (en) * | 1995-10-05 | 1998-06-30 | International Business Machines Corporation | Outer quantifiers in object-oriented queries and views of database systems |
US5797136A (en) * | 1995-10-05 | 1998-08-18 | International Business Machines Corporation | Optional quantifiers in relational and object-oriented views of database systems |
US5778364A (en) * | 1996-01-02 | 1998-07-07 | Verity, Inc. | Evaluation of content of a data set using multiple and/or complex queries |
US5913205A (en) * | 1996-03-29 | 1999-06-15 | Virage, Inc. | Query optimization for visual information retrieval system |
US5765028A (en) * | 1996-05-07 | 1998-06-09 | Ncr Corporation | Method and apparatus for providing neural intelligence to a mail query agent in an online analytical processing system |
US6574654B1 (en) | 1996-06-24 | 2003-06-03 | Oracle Corporation | Method and apparatus for lock caching |
US5822747A (en) * | 1996-08-23 | 1998-10-13 | Tandem Computers, Inc. | System and method for optimizing database queries |
US6148294A (en) * | 1996-12-20 | 2000-11-14 | Siemens Information And Communication Networks, Inc. | System and method for computer directory updating and presentation based on frequency of access |
US6041384A (en) * | 1997-05-30 | 2000-03-21 | Oracle Corporation | Method for managing shared resources in a multiprocessing computer system |
US5872981A (en) * | 1997-05-30 | 1999-02-16 | Oracle Corporation | Method for managing termination of a lock-holding process using a waiting lock |
US5960428A (en) * | 1997-08-28 | 1999-09-28 | International Business Machines Corporation | Star/join query optimization |
US5943666A (en) * | 1997-09-15 | 1999-08-24 | International Business Machines Corporation | Method and apparatus for optimizing queries across heterogeneous databases |
US6006220A (en) * | 1997-09-30 | 1999-12-21 | International Business Machines Corporation | Determining the optimal access path for a query at execution time using an actual value for each variable in a query for estimating a filter factor |
US6243703B1 (en) | 1997-10-14 | 2001-06-05 | International Business Machines Corporation | Method of accessing and displaying subsystem parameters including graphical plan table data |
US6539371B1 (en) * | 1997-10-14 | 2003-03-25 | International Business Machines Corporation | System and method for filtering query statements according to user-defined filters of query explain data |
US6006219A (en) * | 1997-11-03 | 1999-12-21 | Newframe Corporation Ltd. | Method of and special purpose computer for utilizing an index of a relational data base table |
US6163782A (en) | 1997-11-19 | 2000-12-19 | At&T Corp. | Efficient and effective distributed information management |
US6169985B1 (en) * | 1998-05-29 | 2001-01-02 | Epiphany, Inc. | Method and apparatus for determining a set of database entries |
US7461058B1 (en) * | 1999-09-24 | 2008-12-02 | Thalveg Data Flow Llc | Optimized rule based constraints for collaborative filtering systems |
US6542893B1 (en) * | 2000-02-29 | 2003-04-01 | Unisys Corporation | Database sizer for preemptive multitasking operating system |
US6721724B1 (en) * | 2000-03-31 | 2004-04-13 | Microsoft Corporation | Validating multiple execution plans for database queries |
US6470335B1 (en) | 2000-06-01 | 2002-10-22 | Sas Institute Inc. | System and method for optimizing the structure and display of complex data filters |
US7788123B1 (en) | 2000-06-23 | 2010-08-31 | Ekhaus Michael A | Method and system for high performance model-based personalization |
US7650304B1 (en) | 2000-09-08 | 2010-01-19 | Capital One Financial Corporation | Solicitation to web marketing loop process |
US7567916B1 (en) | 2000-09-12 | 2009-07-28 | Capital One Financial Corporation | System and method for performing Web based in-view monitoring |
JP4384797B2 (ja) * | 2000-10-04 | 2009-12-16 | 日本精工株式会社 | 機械要素性能指標情報提供方法及びシステム並びに機械要素選択支援方法及びシステム |
US6785668B1 (en) | 2000-11-28 | 2004-08-31 | Sas Institute Inc. | System and method for data flow analysis of complex data filters |
US8069419B2 (en) * | 2001-04-18 | 2011-11-29 | Sas Institute Inc. | Graphical user interface check-list button control and method |
US6968330B2 (en) * | 2001-11-29 | 2005-11-22 | International Business Machines Corporation | Database query optimization apparatus and method |
EP1546822A4 (en) * | 2002-09-18 | 2008-07-02 | Netezza Corp | ASYMMETRIC DATA STREAMING ARCHITECTURE WITH AN AUTONOMOUS AND ASYNCHRONOUS JOB PROCESSING UNIT |
US7275051B2 (en) * | 2002-11-08 | 2007-09-25 | International Business Machines Corporation | Method and system for reducing host variable impact on access path selection |
US7293011B1 (en) | 2002-11-27 | 2007-11-06 | Oracle International Corporation | TQ distribution that increases parallism by distributing one slave to a particular data block |
US7188113B1 (en) | 2002-11-27 | 2007-03-06 | Oracle International Corporation | Reducing contention by slaves for free lists when modifying data in a table partition |
US7447786B2 (en) * | 2003-05-09 | 2008-11-04 | Oracle International Corporation | Efficient locking of shared data that is accessed for reads in a cluster database |
US7330848B2 (en) * | 2003-05-23 | 2008-02-12 | Microsoft Corporation | Method and apparatus for generating statistics on query expressions for optimization |
EP1649390B1 (en) | 2003-07-07 | 2014-08-20 | IBM International Group BV | Optimized sql code generation |
US20050165748A1 (en) * | 2004-01-15 | 2005-07-28 | Seagate Technology Llc | Method and apparatus for querying a computerized database |
US8478742B2 (en) * | 2004-04-14 | 2013-07-02 | Oracle Corporation | Using estimated cost to refresh a set of materialized views (MVS) |
US7702627B2 (en) * | 2004-06-22 | 2010-04-20 | Oracle International Corporation | Efficient interaction among cost-based transformations |
US20050283471A1 (en) * | 2004-06-22 | 2005-12-22 | Oracle International Corporation | Multi-tier query processing |
JP2006040024A (ja) * | 2004-07-28 | 2006-02-09 | Hitachi Ltd | ストレージ管理方法、管理装置及びコンピュータシステム |
US7814042B2 (en) * | 2004-08-17 | 2010-10-12 | Oracle International Corporation | Selecting candidate queries |
US8046354B2 (en) * | 2004-09-30 | 2011-10-25 | International Business Machines Corporation | Method and apparatus for re-evaluating execution strategy for a database query |
US7209990B2 (en) * | 2005-04-05 | 2007-04-24 | Oracle International Corporation | Maintain fairness of resource allocation in a multi-node environment |
US7343367B2 (en) * | 2005-05-12 | 2008-03-11 | International Business Machines Corporation | Optimizing a database query that returns a predetermined number of rows using a generated optimized access plan |
US7356524B2 (en) * | 2005-05-13 | 2008-04-08 | Sap Ag | Query runtime estimation using statistical query records |
US7636735B2 (en) * | 2005-08-19 | 2009-12-22 | International Business Machines Corporation | Method for estimating the cost of query processing |
US7617189B2 (en) * | 2005-09-27 | 2009-11-10 | Oracle International Corporation | Parallel query processing techniques for minus and intersect operators |
US7877379B2 (en) * | 2005-09-30 | 2011-01-25 | Oracle International Corporation | Delaying evaluation of expensive expressions in a query |
US7945562B2 (en) * | 2006-03-15 | 2011-05-17 | Oracle International Corporation | Join predicate push-down optimizations |
US7644062B2 (en) * | 2006-03-15 | 2010-01-05 | Oracle International Corporation | Join factorization of union/union all queries |
US7809713B2 (en) * | 2006-03-15 | 2010-10-05 | Oracle International Corporation | Efficient search space analysis for join factorization |
EP2021951B1 (de) * | 2006-06-01 | 2010-09-01 | mediareif Möstl & Reif Kommunikations- und Informationstechnologien OEG | Verfahren zum steuern eines relationalen datenbanksystems |
US7877373B2 (en) * | 2006-06-30 | 2011-01-25 | Oracle International Corporation | Executing alternative plans for a SQL statement |
US8688682B2 (en) * | 2007-03-23 | 2014-04-01 | International Business Machines Corporation | Query expression evaluation using sample based projected selectivity |
US9002827B2 (en) * | 2007-07-11 | 2015-04-07 | Teradata Us, Inc. | Database query table substitution |
US8903801B2 (en) | 2007-09-14 | 2014-12-02 | Oracle International Corporation | Fully automated SQL tuning |
US8341178B2 (en) * | 2007-09-18 | 2012-12-25 | Oracle International Corporation | SQL performance analyzer |
US8700608B2 (en) | 2007-10-17 | 2014-04-15 | Oracle International Corporation | SQL execution plan verification |
US8438152B2 (en) * | 2007-10-29 | 2013-05-07 | Oracle International Corporation | Techniques for bushy tree execution plans for snowstorm schema |
US9805077B2 (en) * | 2008-02-19 | 2017-10-31 | International Business Machines Corporation | Method and system for optimizing data access in a database using multi-class objects |
US8239406B2 (en) * | 2008-12-31 | 2012-08-07 | International Business Machines Corporation | Expression tree data structure for representing a database query |
US9424365B2 (en) * | 2009-10-30 | 2016-08-23 | Oracle International Corporation | XPath-based creation of relational indexes and constraints over XML data stored in relational tables |
US10162851B2 (en) | 2010-04-19 | 2018-12-25 | Salesforce.Com, Inc. | Methods and systems for performing cross store joins in a multi-tenant store |
US8447754B2 (en) | 2010-04-19 | 2013-05-21 | Salesforce.Com, Inc. | Methods and systems for optimizing queries in a multi-tenant store |
CN103136260A (zh) * | 2011-11-30 | 2013-06-05 | 国际商业机器公司 | 评估过滤因子用于数据库中访问路径优化的方法和装置 |
CN103176974B (zh) * | 2011-12-20 | 2016-01-13 | 国际商业机器公司 | 优化数据库中访问路径的方法和装置 |
US9298771B2 (en) | 2013-01-30 | 2016-03-29 | Ias Solutions, Inc. | Resource estimation for a query optimization process |
US9275103B2 (en) | 2013-02-28 | 2016-03-01 | International Business Machines Corporation | Optimization of JOIN queries for related data |
US9870390B2 (en) | 2014-02-18 | 2018-01-16 | Oracle International Corporation | Selecting from OR-expansion states of a query |
US10621064B2 (en) | 2014-07-07 | 2020-04-14 | Oracle International Corporation | Proactive impact measurement of database changes on production systems |
US9158786B1 (en) | 2014-10-01 | 2015-10-13 | Bertram Capital Management, Llc | Database selection system and method to automatically adjust a database schema based on an input data |
US10585887B2 (en) | 2015-03-30 | 2020-03-10 | Oracle International Corporation | Multi-system query execution plan |
US11194809B2 (en) * | 2016-12-02 | 2021-12-07 | International Business Machines Corporation | Predicting performance of database queries |
KR101919771B1 (ko) | 2017-06-12 | 2019-02-11 | 주식회사 티맥스데이터 | 데이터베이스 애플리케이션을 위한 최적화 기법 |
US10459810B2 (en) | 2017-07-06 | 2019-10-29 | Oracle International Corporation | Technique for higher availability in a multi-node system using replicated lock information to determine a set of data blocks for recovery |
US11386058B2 (en) | 2017-09-29 | 2022-07-12 | Oracle International Corporation | Rule-based autonomous database cloud service framework |
US11327932B2 (en) | 2017-09-30 | 2022-05-10 | Oracle International Corporation | Autonomous multitenant database cloud service framework |
US11609911B2 (en) * | 2019-12-19 | 2023-03-21 | Ocient Holdings LLC | Selecting a normalized form for conversion of a query expression |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4506326A (en) * | 1983-02-28 | 1985-03-19 | International Business Machines Corporation | Apparatus and method for synthesizing a query for accessing a relational data base |
US4829427A (en) * | 1984-05-25 | 1989-05-09 | Data General Corporation | Database query code generation and optimization based on the cost of alternate access methods |
US4769772A (en) * | 1985-02-28 | 1988-09-06 | Honeywell Bull, Inc. | Automated query optimization method using both global and parallel local optimizations for materialization access planning for distributed databases |
US4774661A (en) * | 1985-11-19 | 1988-09-27 | American Telephone And Telegraph Company, At&T Information Systems | Database management system with active data dictionary |
-
1988
- 1988-01-29 JP JP63017071A patent/JP2760794B2/ja not_active Expired - Lifetime
-
1989
- 1989-01-25 US US07/302,307 patent/US5091852A/en not_active Expired - Lifetime
- 1989-01-25 DE DE68927413T patent/DE68927413T2/de not_active Expired - Fee Related
- 1989-01-25 EP EP89101283A patent/EP0326927B1/en not_active Expired - Lifetime
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0232472A (ja) * | 1988-07-22 | 1990-02-02 | Nippon Telegr & Teleph Corp <Ntt> | 関係データベースのアクセスパス決定処理方法 |
JPH09231115A (ja) * | 1996-02-23 | 1997-09-05 | Mitsubishi Electric Corp | データベース処理方法 |
JP2007506191A (ja) * | 2003-09-15 | 2007-03-15 | エービー イニティオ ソフトウェア コーポレーション | データプロファイリング |
JP2008027072A (ja) * | 2006-07-19 | 2008-02-07 | Fujitsu Ltd | データベース分析プログラム、データベース分析装置、データベース分析方法 |
WO2012017529A1 (ja) * | 2010-08-04 | 2012-02-09 | 株式会社日立製作所 | データベース管理方法、データベース管理装置及びデータベース管理プログラム |
JP5304950B2 (ja) * | 2010-08-04 | 2013-10-02 | 株式会社日立製作所 | データベース管理方法、データベース管理装置及びデータベース管理プログラム |
Also Published As
Publication number | Publication date |
---|---|
DE68927413T2 (de) | 1997-05-22 |
DE68927413D1 (de) | 1996-12-12 |
EP0326927B1 (en) | 1996-11-06 |
EP0326927A2 (en) | 1989-08-09 |
EP0326927A3 (en) | 1992-10-07 |
JP2760794B2 (ja) | 1998-06-04 |
US5091852A (en) | 1992-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH01194028A (ja) | データベース処理方法および装置 | |
US5806059A (en) | Database management system and method for query process for the same | |
US7275056B2 (en) | System and method for transforming queries using window aggregation | |
US5325525A (en) | Method of automatically controlling the allocation of resources of a parallel processor computer system by calculating a minimum execution time of a task and scheduling subtasks against resources to execute the task in the minimum time | |
US6556988B2 (en) | Database management apparatus and query operation therefor, including processing plural database operation requests based on key range of hash code | |
US7409385B2 (en) | Method, system and program for executing a query having a UNION operator | |
US5778354A (en) | Database management system with improved indexed accessing | |
US5943666A (en) | Method and apparatus for optimizing queries across heterogeneous databases | |
US5920860A (en) | Method and apparatus for accessing of large object data segments from a remote database | |
US6999967B1 (en) | Semantically reducing the number of partitions involved in a join | |
US20050131877A1 (en) | Executing filter subqueries using a parallel single cursor model | |
JP5084750B2 (ja) | データベース・システムにおける統計ビューの管理 | |
JP2780996B2 (ja) | 問い合わせ最適化処理方法 | |
JP3538322B2 (ja) | データベース管理システムおよび問合せの処理方法 | |
JP3434641B2 (ja) | データベース処理方法 | |
JP4422697B2 (ja) | データベース管理システムおよび問合せの処理方法 | |
JP3668243B2 (ja) | データベース管理システム | |
JPH02234270A (ja) | データベース処理方法 | |
JP3338752B2 (ja) | 更新可能表の明示指定によるデッドロック削減方式 | |
JP3732655B2 (ja) | データベース管理システム、データベース管理装置および問い合わせ処理方法 | |
JP3667997B2 (ja) | データベース管理装置 | |
JPH03189742A (ja) | データベース処理方法 | |
JPH0778118A (ja) | 資源競合回避スケジューリング方法 | |
JPH06110933A (ja) | 検索処理手順管理方法およびデータベース処理システム | |
JPH04152440A (ja) | 知的問合せ処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EXPY | Cancellation because of completion of term |