JPH05334368A - データベース問合せ処理方法 - Google Patents

データベース問合せ処理方法

Info

Publication number
JPH05334368A
JPH05334368A JP4141325A JP14132592A JPH05334368A JP H05334368 A JPH05334368 A JP H05334368A JP 4141325 A JP4141325 A JP 4141325A JP 14132592 A JP14132592 A JP 14132592A JP H05334368 A JPH05334368 A JP H05334368A
Authority
JP
Japan
Prior art keywords
processing procedure
query
internal processing
inquiry
cost
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
Application number
JP4141325A
Other languages
English (en)
Inventor
Fumie Yasuraoka
フミエ 安良岡
Masashi Tsuchida
正士 土田
Yukio Nakano
幸生 中野
Kazuyoshi Negishi
和義 根岸
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP4141325A priority Critical patent/JPH05334368A/ja
Publication of JPH05334368A publication Critical patent/JPH05334368A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【構成】コスト評価システムとして、等価問合せ処理判
断41,ディクショナリ情報取得42,統計情報取得4
3,内部処理手順実行コスト算出44,最適内部処理手
順選定45の過程を設ける。 【効果】意味的に等価な問合せの中から、最小コストを
持つ内部処理手順を選択することができる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、データベース処理装置
に係り、特に、リレーショナルデータベース管理システ
ム(以下DBMS)に適した問合せの処理に好適なデー
タベース処理方法に関する。
【0002】
【従来の技術】定義された規則によってある問合せをそ
れと同等な問合せへ変換する規則は、エム・ジャーク・
ジェイ コッホ“クウェリ オプティミゼーション イ
ン データベースシステムズ”エイシーエム コンピュ
ーティング サーベイ(M.Jarke,J.Koch:“Query Opt
imization in Database Systems”,ACM ComputingSurv
eys,Vol.16,No.2,pp.111−152)で述べら
れている。問合せを変換する目的は、問合せ最適化のた
めの基準出発点の構成(基準化)を行うことにある。基
準化は、次のように行う。すなわち、SQL述語中の量
限定されていない述語部分(母式)を、交換則,結合
則,分配則,恒等則,ドモルガンの規則,二重否定則を
用いて論理和形標準形、または論理積形標準形へ変換す
る。この母式の標準形を組合せて、SQL述語中の量記
号を変換規則に従って最左項へ移動させることで、SQ
L述語を冠頭標準形へ変換することができる。冠頭標準
形は、論理和形冠頭標準形(DPNF)と論理積形冠頭
標準形(CPNF)に分けられる。DPNFは、独立な
問合せ構成部分を別々に最適化したり評価したりする目
的で使う。CPNFは、問合せの分解やデータ依存改良
に有効である。
【0003】
【発明が解決しようとする課題】DBMSでは、上記従
来技術のようにSQL述語のみ変化がある入力問合せに
対応する基準化を行い、問合せの構文を全く異なるもの
に変化させる問合せの意味的な等価変換はされないこと
が多い。
【0004】本発明の目的は、等価変換機能をより充実
させるために、DBMSと独立に問合せに対応する意味
的に等価な問合せを用意することによって、入力問合せ
に対する内部処理手順を選択する幅を広げることと、内
部処理手順のコスト評価機能を持たないDBMSに対し
て、DBMSと独立に対象となる内部処理手順のコスト
評価を行い最小のコストを持つ内部処理手順を選択して
DBMSへ返し、DB処理効率を向上させることにあ
る。
【0005】
【課題を解決するための手段】上記第一の目的を達成す
るために、本発明は、DBMSに入力された問合せが等
価な問合せを持つかどうかを判定するために、等価な問
合せを持つ問合せに関する問合せの形状(問合せ型)及
び前記問合せを実行する際に必要な内部処理手順の形状
(内部処理手順型)との対応表を作成する過程と、前記
対応表を格納して保守する過程と、前記対応表を用いて
入力された問合せと等価な問合せを提供し、内部処理手
順型を与える過程に特徴がある。第二の目的を達成する
には、ディクショナリ情報と統計情報を取得する過程
と、前記対応表を用いて直接問合せに対応する内部処理
手順を作成する過程と、等価な問合せに対応する内部処
理手順の実行見積りコストを計算することにより最小コ
ストを持つ内部処理手順を選定してDBMS実行処理に
渡す過程に特徴がある。
【0006】
【作用】本発明のデータベース処理方式では、等価な問
合せを持つ問合せについて入力された問合せのみで得ら
れる内部処理手順群の中から唯一の最良な内部処理手順
を選択するものと比較して、入力した問合せに対する全
ての等価な問合せ各々に対応する内部処理手順の中か
ら、最小コストを持つ内部処理手順を選択するので、前
者の方法に比べて後者の方法はより良い内部処理手順を
選定できる。また、問合せ型と内部処理手順型の対応表
を保持し、直接、内部処理手順を作成することにより、
対応表用の記憶容量が増加するものの、問合せのコンパ
イルを伴う内部処理手順作成にかかる処理コストの軽減
が図れる。
【0007】
【実施例】図1は、本発明が適用されたコスト評価シス
テム40の問合せ処理機能の入出力と動作に関する例を
示す。図1の入力問合せ10は、表結合条件「S.S#
=SP.S#」と選択条件「SP.P#=‘P2’」と
が論理積で結合された条件式を満たすカラム「SNAM
E」を検索するための問合せ文である。ディスク50に
は、DBMS20とコスト評価システム40の各処理で
使用される、DB51,統計情報52,ディクショナリ
情報53,問合せ型−内部処理手順型対応表54が格納
されている。テーブルSは、S#,SNAME,SCI
TYのカラムから構成される。テーブルSPは、S#,
SP#,PNAME,PPROJのカラムから構成され
る。コスト評価システムを使わないDBMS20の処理
は、問合せ解析21で入力問合せ10の構文解析が行わ
れ、内部処理手順作成22で問合せに対応する内部処理
手順の生成を行い、内部処理手順実行23で作成された
内部処理手順の実行をして問合せに対応する出力データ
30を結果として出す。
【0008】コスト評価システムを用いる処理は、次の
ようになる。まず、入力問合せ10がDBMS20へ入
力される前にコスト評価システム40へ入力される。等
価問合せ処理判断41は、等価な問合せが存在するかど
うかを、入力問合せをディスク50内の問合せ型−内部
処理手順型対応表54へ照合して、等価な問合せがある
場合、問合せ内変数を取得する。ディクショナリ情報取
得42で、対応表で得られた内部処理手順型を実行に使
用する内部処理手順にするために、問合せ内変数に関す
るディクショナリ情報53を取得する。次に、統計情報
取得43で、問合せで使用するデータベース51の統計
情報52を取得して、内部処理手順実行見積りコスト算
出44で、内部処理手順の実行コストを見積る。最後に
最適内部処理手順選定45で、全ての内部処理手順のコ
ストを評価して、最小コストを持つ内部処理手順を選定
してDBMSへ返す。
【0009】図2は、本発明が適用されるハードウエア
構成の一例を示すものである。具体的には、主記憶(以
下MM)61を保持する中央処理装置(以下CPU)6
0とディスク(以下DK)80から成る。MM61内に
DBMS20,コスト評価システム40があり、DK8
0内にデータベース51,統計情報52,ディクショナ
リ情報53,問合せ型−内部処理手順型対応表54が格
納されている。CPU60とDK80との間では、入出
力データ等が転送され、経路70が用いられる。
【0010】図3は、問合せ型−内部処理手順型対応
表、及び問合せ内変数を表す。コスト評価システムの等
価問合せ処理判断42の中で、問合せ型−内部処理手順
型対応表90は使用される。対応表の内容は問合せ型I
D,問合せ型,内部処理手順型,等価問合せ型IDから
成る。問合せ型はSQL構文上の型であり、変数部分が
順序番号(*1〜)で識別できる。図1の入力問合せの
問合せ型は、対応表90の中の問合せ型ID1のもので
ある。問合せ型ID1は、二テーブル(*1.*3)の
検索で、二つの検索条件があり、一方の条件が結合条件
(*1.*4=*3.*5)であり、もう一方の条件が
選択条件(*3.*6=*7)であり、二つの検索条件
はANDで結ばれ、検索カラムが一つ(*2)の問合せ
である。
【0011】対応表90よりわかるように、問合せ型I
D1の問合せと等価な問合せとなる問合せ型のIDは4
のみである。入力問合せ10の問合せ内変数100は、
問合せ型ID1の*1〜*7の内容となる。*1と*3
は、検索するテーブルのカラム名である。*2は、選択
されるカラム名である。*4は、*1のテーブル中の結
合カラム名である。*5は、*3のテーブル中の結合カ
ラム名である。*6は、*3のテーブルの選択条件のカ
ラム名であり、*7は定数である。問合せ型ID1と問
合せ型ID4の問合せ内変数の対応関係は、*1から*
7まで1対1に対応する。問合せ内変数は、内部処理手
順型から実際に実行する内部処理手順を作成するために
必要となる。
【0012】図4は、本発明が適用されたコスト評価シ
ステムの内部処理手順実行見積りコスト算出44、及び
最適内部処理手順選定45の処理の様子を示す。内部処
理手順110の内容を説明する。内部処理手順Aは、リ
ストスキャンマージジョインであり、テーブルSとテー
ブルSPそれぞれのリストを作成して、二つのリストを
マージした結果を得る。内部処理手順Dは、副問合せ有
りのテーブルスキャンであり、テーブルSPを選択条件
有りのテーブルスキャン行うを副問合せの結果を条件と
するテーブルSのテーブルスキャン処理を行う。統計情
報120は、テーブルS,SP共にインデクスがないの
で、各テーブルロー数と、選択条件のヒット率を取得す
る。内部処理手順実行見積りコスト算出44の処理は、
まず、入力問合せ10に対して問合せ型−内部処理手順
型対応表照合で得られた等価な内部処理手順処理型の
A,Dそれぞれに入力問合せ10の問合せ内変数90よ
り得られるディクショナリ情報を埋め込み、内部処理手
順110を作成する。
【0013】次に、コスト見積りに必要な統計情報12
0を取得する。内部処理手順110と統計情報120か
らコスト評価130で、コスト評価式(A)131,コス
ト評価式(D)132の作成を行う。コスト評価式(A)1
31は、(1)選択条件なしでS#とSNAMEのカラ
ムのリストを作成するためのコスト,(2)選択条件有
りでS#のカラムのリストを作成するためのコスト,
(3)マージ処理のコストからなる。コスト評価式(D)
132は、(4)副問合せ処理(一条件有りテーブルス
キャン)のコスト,(5)副問合せの結果を条件とする
テーブルスキャンのコストからなる。
【0014】コスト評価式A,Dから内部処理手順のコ
ストをそれぞれ算出する。コスト評価式(A)では、
(1)のコスト=30,(2)のコスト=15,(3)
のコスト=25よりコストが70となる。コスト評価式
(D)では、(4)のコスト=15,(5)のコスト=
25よりコストが40となる。最適内部処理手順選定4
5は、上記より得られた内部処理手順実行見積りコスト
を比較して最小コストの内部処理手順133を選択す
る。
【0015】図5は、本発明が適用されたコスト評価シ
ステム中の問合せ自動変換が行う処理概要について示
す。ユーザアプリケーションプログラム(UAP)16
0は、入力問合せ140のテキスト部161が格納され
ているプログラムである。入力問合せと等価な問合せ1
50は、内部処理手順コスト見積り44で判定された最
小コストを持つ内部処理手順に対応する問合せである。
問合せ自動変換の動作は、入力問合せ140のテキスト
部161をUAP160から削除した後、テキスト部1
61が存在したプログラム位置へ、入力問合せと等価な
問合せ150のテキストを挿入することである。
【0016】図6は、本発明が適用されたコスト評価シ
ステム内の等価問合せ処理判断170のフローチャートを
示す。等価問合せ処理判断170は、問合せの型と問合
せ内変数の抽出を行い(ステップ171)、抽出した問
合せ型が問合せ型−内部処理手順対応表に存在するかど
うかの判定を行い(ステップ172)存在しなければ、
入力問合せをDBMS問合せ解析処理へ渡して終了する
(ステップ172→174)。もし、対応表に存在する
ならば、対応表より問合せ型と一致する問合せ型の等価
問合せ型IDを取得する(ステップ172→173)。
【0017】図7は、本発明が適用されたコスト評価シ
ステム内の内部処理手順実行見積りコスト算出180の
フローを示す。内部処理手順実行見積りコスト算出18
0は、等価な問合せの内部処理の手順全てについて、詳
細処理のコスト見積りをコスト評価式を用いて算出する
(ステップ181)。一つの内部処理手順内詳細処理のコ
ストの総和を取って当該内部処理手順の見積りコストと
する(ステップ182)。
【0018】図8は、本発明が適用されたDBMSの問
合せ処理中の最適内部処理手順選定190のフローチャ
ートを示す。最適内部処理手順選定190は、選択内部
処理手順をDBMSの内部処理手順実行へ渡す(ステッ
プ191)。
【0019】
【発明の効果】本発明によれば、等価な問合せが存在す
る問合せに対して、等価な問合せに対応する各々の最良
の内部処理手順を予め作成しておくことで、入力された
問合せに等価な問合せが存在するかどうかを判定でき
る。また、入力された問合せに対応する複数の内部処理
手順の中からのみ最良な内部処理手順を選定するのでは
なく、全ての等価な問合せに対応する各々の最良な内部
処理手順の中から最小コストを持つ内部処理手順を選定
するので、選定された内部処理手順の実行処理効率が増
し、この選定の際、問合せ型と内部処理手順型の対応表
があるため、内部処理手順作成が容易にできる。更に、
最良の内部処理手順を持つ問合せへ入力した問合せを自
動変換が行われるため、ユーザはユーザアプリケーショ
ンプログラム中のテキストを書き換えて再実行するため
の自己負担を全く負わずにすむという利点がある。
【図面の簡単な説明】
【図1】本発明の実施例に対する入出力の様子を示すフ
ローチャート。
【図2】本発明中のハードウエアのブロック図。
【図3】本発明中の問合せ型−内部処理手順型の対応
表、及び問合せ内変数を表す説明図。
【図4】本発明中の実施例に対する内部処理手順コスト
見積りの動作説明図。
【図5】本発明中の問合せ自動変換の説明図。
【図6】本発明中の等価問合せ処理判断のフローチャー
ト。
【図7】本発明中の内部処理手順実行コスト見積りのフ
ローチャート。
【図8】本発明中の最適内部処理手順選定のフローチャ
ート。
【符号の説明】
40…コスト評価システム、41…等価問合せ処理判
断、42…ディクショナリ情報取得、43…統計情報取
得、44…内部処理手順実行見積りコスト算出、45…
最適内部処理手順選定。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 根岸 和義 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】データベース管理システムと独立したシス
    テム上で、ユーザから前記データベース管理システムへ
    入力された問合せを後者システムに渡し、問合せの型と
    問合せ内変数を抽出し、前記問合せ内変数に関連したデ
    ィクショナリ情報と統計情報を前記データベース管理シ
    ステムより取得し、問合せ型と内部処理手順型の対応表
    と前記ディクショナリ情報を用いて、直接等価な問合せ
    に対応する内部処理手順を作成し、内部処理手順の実行
    見積りコストを統計情報、及びコスト評価式を用いて算
    出することによって、各々の内部処理手順のコスト評価
    を行い、前記データベース管理システムの実行処理へ最
    小コストの内部処理手順を渡すことを特徴とするデータ
    ベース問合せ処理方法。
  2. 【請求項2】請求項1において、入力する問合せが存在
    するユーザアプリケーション中の問合せテキストを後者
    内部処理手順に対応する問合せのテキストへ自動変換
    し、前記自動変換終了時に問合せ変換実行通知をユーザ
    へ送るデータベース処理方法。
JP4141325A 1992-06-02 1992-06-02 データベース問合せ処理方法 Pending JPH05334368A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4141325A JPH05334368A (ja) 1992-06-02 1992-06-02 データベース問合せ処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4141325A JPH05334368A (ja) 1992-06-02 1992-06-02 データベース問合せ処理方法

Publications (1)

Publication Number Publication Date
JPH05334368A true JPH05334368A (ja) 1993-12-17

Family

ID=15289309

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4141325A Pending JPH05334368A (ja) 1992-06-02 1992-06-02 データベース問合せ処理方法

Country Status (1)

Country Link
JP (1) JPH05334368A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10283371A (ja) * 1997-04-04 1998-10-23 Nec Corp データベース装置
JP2013152512A (ja) * 2012-01-24 2013-08-08 Mitsubishi Electric Corp 情報処理装置及び情報処理方法及びプログラム
JP2018509666A (ja) * 2016-02-19 2018-04-05 華為技術有限公司Huawei Technologies Co.,Ltd. Sql実行計画を決定するための方法および装置
JP2019040409A (ja) * 2017-08-25 2019-03-14 Kddi株式会社 データベース管理装置、データベース管理方法、及びデータベース管理プログラム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10283371A (ja) * 1997-04-04 1998-10-23 Nec Corp データベース装置
JP2013152512A (ja) * 2012-01-24 2013-08-08 Mitsubishi Electric Corp 情報処理装置及び情報処理方法及びプログラム
JP2018509666A (ja) * 2016-02-19 2018-04-05 華為技術有限公司Huawei Technologies Co.,Ltd. Sql実行計画を決定するための方法および装置
US10901976B2 (en) 2016-02-19 2021-01-26 Huawei Technologies Co., Ltd. Method and apparatus for determining SQL execution plan
JP2019040409A (ja) * 2017-08-25 2019-03-14 Kddi株式会社 データベース管理装置、データベース管理方法、及びデータベース管理プログラム

Similar Documents

Publication Publication Date Title
US7373341B2 (en) Computer readable medium, method and apparatus for preserving filtering conditions to query multilingual data sources at various locales when regenerating a report
CN107315790B (zh) 一种非相关子查询的优化方法和装置
US6581055B1 (en) Query optimization with switch predicates
EP0326927B1 (en) Method and apparatus for processing a database
US8447743B2 (en) Techniques for processing database queries including user-defined functions
US7363299B2 (en) Computing probabilistic answers to queries
US9244974B2 (en) Optimization of database queries including grouped aggregation functions
JP4314221B2 (ja) 構造化文書記憶装置、構造化文書検索装置、構造化文書システム、方法およびプログラム
US8423569B2 (en) Decomposed query conditions
US7685104B2 (en) Dynamic bitmap processing, identification and reusability
US20040220904A1 (en) Information retrieval system and method using index ANDing for improving performance
JP2001084257A (ja) 問合せ処理方法及びシステム
US7542962B2 (en) Information retrieval method for optimizing queries having maximum or minimum function aggregation predicates
US20070156736A1 (en) Method and apparatus for automatically detecting a latent referential integrity relationship between different tables of a database
US11615080B1 (en) System, method, and computer program for converting a natural language query to a nested database query
Barioni et al. Seamlessly integrating similarity queries in SQL
JPH05334368A (ja) データベース問合せ処理方法
US6721730B2 (en) Left outer join elimination on key
CN111368055A (zh) 一种专利数据库联合企业信息平台的检索方法和装置
CN117390064B (zh) 一种基于可嵌入子图的数据库查询优化方法
JPH11203320A (ja) データベース前処理方式
JPS6315331A (ja) デ−タベ−ス処理方法
JPS62290948A (ja) デ−タベ−ス処理方法
Gawali et al. Novel Design Approach for Optimal Execution Plan and Strategy for Query Execution
Natsev et al. Aggregate predicate support in DBMS