JPH06195248A - 関係データベース管理システムからの問合せの最適化援助方法 - Google Patents
関係データベース管理システムからの問合せの最適化援助方法Info
- Publication number
- JPH06195248A JPH06195248A JP5251797A JP25179793A JPH06195248A JP H06195248 A JPH06195248 A JP H06195248A JP 5251797 A JP5251797 A JP 5251797A JP 25179793 A JP25179793 A JP 25179793A JP H06195248 A JPH06195248 A JP H06195248A
- Authority
- JP
- Japan
- Prior art keywords
- query
- inquiry
- rdbms
- tree
- execution 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims description 30
- 238000005457 optimization Methods 0.000 claims abstract description 11
- 238000012545 processing Methods 0.000 abstract description 4
- 230000008901 benefit Effects 0.000 description 11
- 238000004458 analytical method Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 3
- 238000013523 data management Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 101100081489 Drosophila melanogaster Obp83a gene Proteins 0.000 description 1
- 230000000739 chaotic effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000000772 tip-enhanced Raman spectroscopy Methods 0.000 description 1
- 238000013519 translation Methods 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/24537—Query rewriting; Transformation of operators
-
- 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/242—Query formulation
- G06F16/2428—Query predicate definition using graphical user interfaces, including menus and forms
-
- 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
-
- 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/24547—Optimisations to support specific applications; Extensibility of optimisers
-
- 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
-
- 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/99933—Query processing, i.e. searching
-
- 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/99933—Query processing, i.e. searching
- Y10S707/99934—Query formulation, input preparation, or translation
-
- 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/99933—Query processing, i.e. searching
- Y10S707/99935—Query augmenting and refining, e.g. inexact access
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Operations Research (AREA)
- Human Computer Interaction (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
せの処理速度を向上させる。 【構成】 本発明の方法は、関係データベース管理シス
テム(RDBMS)の問合せ言語で書込まれた問合せ1
0の実行プランの探索に基づいて問合わせの実行プラン
を示すトリー26を作成し且つトリーをワークステーシ
ョンのビデオ画面25上に視覚表示することからなる。
Description
Sで知られている関係データベース管理システムからの
問合せの最適化援助方法に関する。本発明は特にRDB
MSの管理に適用される。
する総合データセットであると定義され得る。種々のア
プリケーションで使用されるデータは、データ重複の問
題を避けるように同一のベースに統合される。データベ
ースが含んでいるデータの構造及び型並びに常に検査せ
ねばならない制約を記載する概念スキーマはデータベー
スに関係している。データベース管理者の任務は、これ
らの制約の検査を確実に行うことである。
データ管理は、ユーザに名称、パスワード及びデータア
クセスへの特権又は権利全体を割当てて、データベース
のユーザを限定する。データ管理は更に一人以上の管理
者を限定する。彼らはデータベースの管理を全て又は一
部分行う資格を持った人物である。管理の第2の役割
は、管理者にデータベースの概念スキーマの定義を割当
てるか又は管理者をこの定義に参加させることである。
従って、管理者は種々のテーブルのスキーマ及びこれら
のテーブルに関する規則を定義する。最後の役割では、
管理者はベース及びRDBMSの概念スキーマから性
能、保全性及び安全性の点で益を得ることができる。本
質的に本発明の目的となるのはこの第3の役割である。
ションの展開時での管理者の役割はRDBMSのリソー
スの使用を最適化することである。アプリケーション時
に問合せが出されると、RDBMSは問合せ実行のため
のアクセスルートを選択する。アプリケーションの性能
を最適化するために、管理者は、送信された問合せを分
析し且つとるべき行動を決定せねばならない。管理者の
行動は、問合せの形態を変更し且つ/又は関連するテー
ブルに索引を作成するか若しくは索引を削除することで
あり得る。管理者の決定は、問合わせの現在の形態が適
切であるかどうか又は既存の索引が適切であるかどうか
を管理者に指摘する情報に依存する。
で、いつでも削除及び作成することができる。索引は、
誰が索引を作成したにせよ、データアクセス時に使用さ
れる。テーブルは同時に複数の索引を有し得る。索引数
と索引の更新に伴うオーバヘッドとの間で妥協を見つけ
ねばならない。索引は1つ以上のカラムに適用され得
る。この場合、索引は使用されるカラムの単一性を確保
し得る。索引は更に、選択条件が1つ以上のカラムに関
係する問合せの性能を改善する。1つ以上の述語を含む
問合せは、索引が単一(unique)ならば、また述
語が同等であり、同一のテーブルで定義されるならば、
多数の索引を使用することができる。この場合、各索引
から得られた部分結果は、最終結果を構成するために併
合される。どの索引をとるか決定し且つ併合操作を避け
るために索引の特性とカラムの特徴とを使用できるRD
BMSもある。索引を使用するかどうかは、RDBMS
の最適化装置(optimiser)によって決定す
る。決定はRDBMSの型によって異なる。
展開し得る。例えば1つ以上のフィールドをテーブルに
付加してもよいし、テーブルに索引を作成してもよい。
このような状況ではRDBMSが、RDBMSが使用せ
ねばならない索引に出会わないか又は例えば10%以上
の項目にアクセスするならばRDBMSが使用してはな
らない索引に出会うことがあり得る。後者の場合、索引
は妨げになる。プランを作成するためにRDBMSのあ
らゆる選択の可能性を考慮すれば、リソースの使用は問
合せの式(formula)及び索引の選択に応じて1
〜10,000の割合で変動し得ると推測される。
ず、最適化は自動的ではなく、問合せの実行プランを要
求するには特定のRDBMSツールを使用せねばならな
い。このプランは、問合せ処理のためにデータベースサ
ーバによって実行されるべきオペレーションの連結であ
る。このプランを要求するために、ユーザはRDBMS
の言語で問合せを書込まねばならない。従って問合せを
書込むにはRDBMSの問合せ言語を熟知していなけれ
ばならない。更には、書込みは厳密且つ困難な作業であ
り、結果として生じる誤りの危険性によって更に時間損
失が大きくなる。応答時にRDBMSは、問合せの実行
プランの要求の結果をRDBMSによって異なり得る形
態で提供する。プランはRDBMSの問合せ言語で書込
まれ、一般に例えば多数のカラムを含む長いテーブルの
形態で示される。テーブルは線形モードで書込まれ、画
面上にはページ毎でしか表示されない。従ってテーブル
の分析は非常に複雑で、ユーザは通常テーブルの用紙へ
のプリントアウトを要求してタスクを楽にする。これ
は、ユーザが端末の特定の全ての印刷方法を遂行せねば
ならないことを意味している。プリントアウトはページ
毎に行い、各ページでカラムの見出しを繰り返す。従っ
て、管理者は問合せ処理の階層をコード化言語で解読
し、且つ種々のページの多数のカラム及び多数の無秩序
なラインの分析によってプランを復元せねばならない。
このため探索は長く、困難になる。更には、管理者は、
通常長すぎて得ることができず、得られる利点に比べて
欠点の多すぎる利用可能なプランのグローバルビューを
もっていない。しかしながら管理者は、問合せの最適化
方法を決定するためにこの欠点をどうにか克服せねばな
らない。管理者は例えば問合せを変更すれば、変更後の
問合せを書込んで、新しいテーブルを分析し、これを古
いテーブルと比較せねばならない。分析テーブルを作成
するために使用するツールは前のテーブルをメモリに保
管せず、従ってこれを新しいテーブルと比較するには、
古いテーブルを参照できるようにプリントアウトせねば
ならない。従って実際には比較は、2つのテーブルの長
く困難な分析を収集することからなる。最後に管理者に
は、処理で使用するオブジェクトに関する情報の視覚表
示が欠如している。このような状況では、熟練した管理
者であっても、問合せの最適化を速やかに実現すること
は困難であることが分かる。
低コストで最適化できるように、問合せの実行プランの
視覚表示及び翻訳を更に容易にすることである。好まし
くは本発明の他の目的は、問合せのオブジェクトに関す
る追加情報を提供することである。本発明の他の任意の
目的は、RDBMSの問合せ言語の専門家でもないユー
ザを簡単且つ迅速に支援して、問合せの実行のより良い
最適化を実現することである。
問合せ言語で書込まれた問合せの実行プランの探索を含
み、前記探索に基づいて、問合わせの実行プランを示す
トリーを作成し且つトリーを画面上に表示することから
なることを特徴とするRDBMSの問合せの最適化援助
方法に関する。
表示し且つ最適化装置及びRDBMSの問合せ言語から
独立しているという2つの利点がある。本方法の好まし
い変形例によれば、この最適化援助は、RDBMSの問
合せ言語を知らないユーザに提供され得る。
めば本発明の特徴及び利点が明白となろう。
acle Corporation社のOracle
V6の登録商標で知られ、標準サイズの言語SQL(S
tructured Query Language)
を使用し、Unix(American Teleph
one and Telegraphの登録商標)ステ
ーションで走行するRDBMSの非制限的な一例に関す
る。図示する実施例は、このRDBMSのSELECT
型問合せに関する。以下の実施例はこのRDBMSのこ
の型にも他のRDBMSにも限定されない。
ら構成されている。層は中心から順番に、コア、ディク
ショナリ、SQL層及び外層である。最初の3つの層を
基本層と呼ぶ。
データベース環境下で他のコアと接続し得る。主要機能
の一つは、総合SQL問合せ最適化装置による問合せの
最適な実行である。
る。ディクショナリは、SQL言語で操作されるテーブ
ル及びビュー全体からなっている。ディクショナリの内
容はいつでもベースの画像を反映し、従ってデータベー
スの動的な説明を行っている。このディクショナリによ
って、特にベースのオブジェクト(テーブル、カラム、
ビュー、索引等)並びに種々のオブジェクトに関するユ
ーザの特権及び権利を説明することができる。ユーザが
管理の特権を有する場合、ディクショナリはデータベー
ス管理のために使用される。ユーザはDBA特権を有す
るなら、管理者と見なされる。システム導入時に、2人
のユーザが管理者、即ちSYS及びSYSTEMとみな
される。SYS管理者のみがデータディクショナリテー
ブルにアクセスする。
である。この層は、コアと外層のツールとのインタフェ
ースの役割を果たす。従って、データへの任意のアクセ
スオペレーションはSQL言語で表される。
供される全ての機能の使用及びアプリケーション展開を
容易にするツールからなっている。これらのツールのひ
とつはSQL*Plusであり、これはSQL層との第
4世代の対話形インタフェースである。任意のSQLコ
マンドはSQL*Plusで開始され得る。これによっ
て特に作業環境のパラメータ化(parametriz
e)(ページ当たりのライン長さ、ページ当たりのライ
ン数等)及びSQL問合せの結果の画面上又は用紙上で
のフォーマッティングが可能となる。他のツールは、デ
ータベースの管理用のSQL*DBAである。
racleの主要操作について簡単に説明する。
作は、索引の値を直接使用する場合は単独で行い、索引
の値がテーブルからの組の選択に役立つ場合は後でTA
BLE ACCESS操作を行う。
(son)に由来する各組と第2の産物に由来する組と
からカルテシアン積(デカルト積)を出す。
クセスし、制限を加えることができる。
法は、RDBMSの問合せ言語で書込まれた問合せの実
行プランの探索を含んでいる。図2Cは、Oracle
の問合せ言語SQLで書込まれた問合せ10の一例を画
面上の窓に示している。Oracleでは、問合せ10
の実行プランの探索は、ツールSQL*Plus又はツ
ールSQL*DBAを使用して行われ得る。問合せ10
を書込むと、応答時にツールが、問合せ実行のためにR
DBMSのコアによって選択されたプランを示すテーブ
ルを作成する。このテーブルは、ユーザによって予め作
成されねばならず、またSQL選択コマンドによってル
ックアップされ得る。
DBMSによって作成された対応テーブルをページ毎に
プリントアウトして得られたテーブル11の非常に簡単
な一例を示す。テーブル11は2ページからなり、各ペ
ージで7つのカラムの見出しを繰り返す。見出しは順次
オペレーション(OPERATION)、オプション
(OPTION)、オブジェクト所有者(OBJECT
OWNER)、オブジェクト名(OBJECT NA
ME)、並びに各オペレーションについてその番号(I
D)、ひとつ前のオペレーションの番号(PARE)及
びオペレーションが姉妹オペレーションを有するならば
その位置(POSI)である。図2Cに示す単純な問合
せ10は通常の問合せに関するテーブルの概念を提供
し、且つ問合せの実行を最適化するために、ユーザに提
起される重大な問題を十分に表示している。実際には、
有資格ユーザである管理者のみが、このテーブルを解釈
することができる。管理者にとってもテーブルの解釈は
一般に時間がかかり且つ困難である。更にはこのように
管理者は実行プランの如何を問わずグローバルビューを
もたない。本発明は、RDBMSの管理を熟知した人物
の援助を必要としない方法を提供する。
プランを示すテーブルを自動的に作成するようユーザに
勧めるために探索ツールDB*EXPLAINを作成し
た。このツールの付属的な利点によれば、管理者はSQ
L言語で問合せを書込む必要はない。
EXPLAINのログオン画面12の一例を示す。OS
F/Motif(米国Open Software F
oundation, Incの登録商標)ソフトウェ
アを使用してこの例を作成した。画面12は、メニュー
バー13と対話窓14とを含んでいる。メニューバー1
3は3つの主メニューFile、Query、Expl
ainを含んでいる。図2Aに示すFileメニュー1
5は、ファイル内で得られる問合せに関する。File
メニューは4つのオプションOpen、Save、Sa
ve As及びExitを有する。Openオプション
をクリックすると、対話窓14内に選択窓16が現れ
る。選択窓16は標準的には、問合せを含む現ファイル
(F1,F2等)のスクローリングリスト17及び選択
すべきファイルの名称を書込むことのできるボックス1
8を含んでいる。Fileメニュー15のSaveオプ
ションをクリックすると、所望のファイルが該ファイル
が既に有する名称で保管される。Save Asオプシ
ョンをクリックすると、所望のファイルがユーザによっ
て選択され、書込まれた名称で保管される。最後に、D
B*EXPLAINから出るにはExitオプションを
クリックする。
ニュー19の一例を示している。問合わせメニュー19
は、他の問合せ源としてRDBMSのディクショナリに
含まれるビューのスクローリングリスト21(図示する
実施例ではこれらのビューはSYS.DBA CLUS
TERS及びSYS.DBA TABLESである)及
び所望のビューの名称を書込むことのできるボックス2
2を含む選択窓20を開くために機能するLoad V
iewオプションだけを含んでいる。図2Bは更に、説
明メニュー23を示す。このメニューはPlanオプシ
ョンだけを含んでいる。このオプションをクリックする
と、ツールDB*EXPLAINが有利なことにツール
SQL*Plus及びツールSQL*DBAと同様に、
問合せの実行プランを示すテーブルを作成する。明らか
に、ツールDB*EXPLAINが図1に示すテーブル
11と同様に、編集窓にこのテーブルを示すことができ
るようにこのツールを適応することが可能であろう。し
かしながら、図示した実施例に適した本発明の方法は、
図示するテーブル11よりも明らかに良好な実行プラン
の表示を提供するためのテーブルしか必要としない。そ
の結果実際にはこの表示は不必要になる。
で選択した、即ち図2Aに示す画面のボックス18で限
定されたファイルに由来する、又はスクローリングリス
ト21で選択した、即ち図2Bのボックス22で限定さ
れたビューに由来する問合せを表すために対話窓14内
に現れた編集窓24を示している。図2Cは、問合せ1
0を編集窓24内に示している。この問合わせは図2B
のリスト21でビューSYS.DBA CLUSTER
Sを選択した場合を例示的に示している。このビューは
データベースのクラスタに関し且つSYS管理者に属す
る。ツールDB*EXPLAINのために、もはや既に
利用可能な問合せを書込む必要はない。従って、このツ
ールには、問合せを設計して再度書込む必要がなく且つ
付随する全ての誤りの危険性及び時間損失が避けられる
という重要な利点がある。他の利点は、好ましい実施例
ではOSF/Motifソフトウェアを使用することに
よって、編集窓24内に示される問合せの内容を直接簡
単に変更できることである。
いて問合せの実行トリーを作成し且つトリーを画面に表
示することからなる。図3に示す画面では、窓25は問
合せ10の実行を表すトリー26を含んでいる。トリー
26は、リンク28によって接続されたボックス27か
ら形成される。トリー26のリンク28は、RDBMS
の問合せ言語で書込まれた問合せの実行プランの要求の
結果を分析することによって構成される。この結果は、
例示的に選択したRDBMS用のテーブル11である。
実際には、単にソフトウェアのグラフを作成するための
関連構造を示すC言語の構造によって問合わせ10を分
析するのが有利である。本発明の方法を使用するのにこ
れだけで十分な非常に簡単な実施例によれば、トリー2
6のボックス27からなる各ノードと関連する構造は単
に、以下の式のExplainPlanによって作成さ
れるテーブルに基づいて生じ得る。
つが例えばOSF/Motifソフトウェアの図形ライ
ブラリ機能を使用して、当業者には簡単な慣用的な方法
で作成される。要するに、図示するトリー26では、実
行プランを示すテーブル11内の問合せ10の分析によ
ってボックス27及びそのリンク28を作成した。図3
に示す実施例では、トリー26を示す窓25は、Pla
nオプション下でツールDB*EXPLAINによって
有利に提供され且つ図2Cに示したビュー名及び問合せ
10の編集窓24を伴っている。
れる情報のようなRDBMSの問合せ言語で書込まれた
問合せの実行プランの探索から得られた情報の全てを又
は一部分を含み得る。例えば各ボックス27は、ボック
スが関係するオペレーションの名称を見出しとして有す
る。従って、図1のテーブル11のOPERATION
カラムに示す名称NESTED LOOPS, TAB
LE ACCESS及びINDEXを図3に示す。ボッ
クス27の見出しを構成するオペレーションが、所与の
オブジェクトに対して実施されるオプションを有するな
らば、このオプションの名称をボックス内に、有利には
サブヘッディングとして記載してもよい。同様に、ボッ
クス27の見出しに記載のオペレーションが、オペレー
ションのオプションが適用されるオブジェクトの名称及
び所有者名のような特徴を有するならば、これらの特徴
の全てを又は一部分をボックスに指示してもよい。本発
明のこれら全ての有利なオプションは、図3に示すトリ
ー26内に含まれる。従って、トリー26の13あるボ
ックス27内には、テーブル11に記載の13のオペレ
ーションの名称が記載され、この13のオペレーション
には、所与のオブジェクトに対して実行される任意のオ
プション、オブジェクト名及びオブジェクト所有者名が
補足される。トリー26は、RDBMSの問合せ言語の
知識とは関係無く任意のユーザに容易に理解され且つ問
合せの実行プランのグローバルビューをユーザに提供す
るという利点がある。従って、トリー26を見るユーザ
は、出された問合せを最適化するためにとるべき行動を
より簡単且つ迅速に決定することができる。他方では、
ツールDB*EXPLAINによって、ユーザは問合せ
を書込む必要がなく且つ図2Cの編集窓24で問合せを
簡単に変更することができる。変更後、管理者は変更が
いかに効果的であるかを知るために新規な実行トリーを
すぐに所有することができる。ツールは、前のトリーを
保管して、管理者が2つのトリーを簡単且つ迅速に比較
することができるという補足的な利点を提供する。
LAINを使用せず、RDBMSの問合わせ言語での問
合せの実行プランの従来の探索手段を使用しても提供さ
れ得る。この探索の結果は、例示的に選択したRDBM
Sのテーブル11に示すが、結果はRDBMSの型に応
じて他の形態で示され得る。これらの結果の分析は問合
せの実行トリーを作成するために当業者によって結果の
形態に容易に適応される。
要求の結果の分析によって提供される情報以外の情報を
得ることができる。例えば、オペレーションのある任意
の特徴に関する追加情報を得ることができる。図示する
実施例では、ユーザがボタン29をクリックするとこの
オブジェクトに関する追加情報を得ることができるよう
に、ボックス27の見出しを構成するオペレーションが
実行されるオブジェクト名、及び場合によってはこのオ
ブジェクトの所有者が、ボックス内に挿入されたボタン
29に書込まれる。
れるオペレーションがテーブルの場合(図示する実施例
ではボックス27内のTABLE ACCESS)、例
えばOracleディクショナリのDBA TAB C
OLUMNSテーブルのSQL要求によって、追加情報
の探索を実施する。このテーブルは、RDBMSのデー
タベースに含まれるテーブルの構造を、即ちカラム名、
及び特にカラムの型及び寸法を示す。追加情報はこのよ
うに、ボックスに記載されたテーブルの説明要素の全体
又は一部分であり得る。従って、テーブルの説明、例え
ばカラム名及びカラムの型を得ることができる。好まし
くはツールDB*EXPLAINは、これらを付属窓
(図示せず)に表示する。
れるオペレーションが索引ならば(ボックス27内のI
NDEX)、追加情報は図4Aに示すようなヒストグラ
ムであり得る。このヒストグラムに含まれる情報を、O
racleのコマンドVALIDATE INDEXで
得た。応答時に、Oracleはヒストグラムテーブル
を作成する。このヒストグラムテーブルに基づいて、当
業者には通例のスモールプログラムによって、図4Aに
示すようなこのヒストグラムを示す画面を形成する。
が反復されない340のキーを含んでいることを知って
いる。ユーザには選択した索引が非常に良好であること
がすぐに分かる。図4B及び図4Cはそれぞれ、本発明
によって得られ得る他のヒストグラムの例を示してい
る。図4Bの実施例では、ユーザは、使用する索引が図
4Aほど選択的でないことが分かる。図4Cは、あまり
選択的でなく、従って変更せねばならない索引を示すヒ
ストグラムである。これらの例は、本発明の方法によっ
て提供される利点を強調している。
せ言語で書込まれた実行プランを示すテーブルであり、
従来技術の一例である。
れるログオン画面を示す。
れるログオン画面を示す。
れるログオン画面を示す。
使用して得られる、図2Cに示す問合せの実行用トリー
の一例を示す。
ムを示す。
ムを示す。
ムを示す。
Claims (11)
- 【請求項1】 関係データベース管理システム(RDB
MS)の問合せ言語で書込まれた問合せの実行プランの
探索を含み、前記探索に基づいて、問合せの実行プラン
を表すトリーを作成し且つトリーを画面上に表示するこ
とからなることを特徴とするRDBMSの問合せの最適
化援助方法。 - 【請求項2】 RDBMSがOracleであり、問合
せの実行プランを示すテーブルで問合せを分析してトリ
ーを作成することを特徴とする請求項1に記載の方法。 - 【請求項3】 RDBMSがOracleであり、OS
F/Motif図形ライブラリに基づいてトリーを画面
上に表示することを特徴とする請求項1又は2に記載の
方法。 - 【請求項4】 関係するオペレーションの名称及びオペ
レーションの任意のオプションをトリーの各ボックス内
にロードすることからなることを特徴とする請求項1か
ら3のいずれか一項に記載の方法。 - 【請求項5】 ボックスに関するオペレーションが適用
されるオブジェクトの名称、及び場合によってはオブジ
ェクトの所有者名の様なオペレーションの特徴を付加す
ることを特徴とする請求項4に記載の方法。 - 【請求項6】 前記ボックスのボタン内に前記特徴を書
込み、且つ前記特徴に関する追加情報を要求するために
前記ボタンをクリックすることからなることを特徴とす
る請求項5に記載の方法。 - 【請求項7】 前記特徴に関して実行されるオペレーシ
ョンがテーブルであり、前記追加情報がテーブルの記載
要素を含んでいることを特徴とする請求項6に記載の方
法。 - 【請求項8】 テーブルの見出しDBA TAB CO
LUMNSを適用して前記追加情報を得ることからなる
ことを特徴とする請求項7に記載の方法。 - 【請求項9】 前記特徴に関して実行されるオペレーシ
ョンが索引であり、前記追加情報がヒストグラムを含ん
でいることを特徴とする請求項6に記載の方法。 - 【請求項10】 OracleのコマンドVALIDA
TE INDEXによって前記追加情報を得ることから
なることを特徴とする請求項9に記載の方法。 - 【請求項11】 実行プランの探索が、RDBMSのデ
ィクショナリ内にあるビュー、及び/又は、問合せを含
むファイルをロードし、ビュー又はファイルを選択し、
且つ選択したビュー又は選択したファイルを画面に表示
することからなることを特徴とする請求項1から10の
いずれか一項に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR9212148A FR2696852B1 (fr) | 1992-10-12 | 1992-10-12 | Procédé d'aide à l'optimisation d'une requête d'un système de gestion de base de données relationnel. |
FR9212148 | 1992-10-12 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH06195248A true JPH06195248A (ja) | 1994-07-15 |
JP2510945B2 JP2510945B2 (ja) | 1996-06-26 |
Family
ID=9434421
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5251797A Expired - Lifetime JP2510945B2 (ja) | 1992-10-12 | 1993-10-07 | 関係デ―タベ―ス管理システムからの問合せの最適化援助方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US5630120A (ja) |
EP (1) | EP0593354B1 (ja) |
JP (1) | JP2510945B2 (ja) |
DE (1) | DE69328227T2 (ja) |
FR (1) | FR2696852B1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014530416A (ja) * | 2011-09-15 | 2014-11-17 | オラクル・インターナショナル・コーポレイション | 分散データ管理システムにおけるクエリ説明計画 |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5727175A (en) * | 1989-06-30 | 1998-03-10 | Massachusetts Institute Of Technology | Object-oriented computer user interface |
US5544352A (en) * | 1993-06-14 | 1996-08-06 | Libertech, Inc. | Method and apparatus for indexing, searching and displaying data |
US5717913A (en) * | 1995-01-03 | 1998-02-10 | University Of Central Florida | Method for detecting and extracting text data using database schemas |
US5995728A (en) * | 1995-06-30 | 1999-11-30 | Forman; Ernest H. | Computer implemented method of generating and displaying objectives from pros and cons for evaluating decision alternatives |
US5710900A (en) * | 1995-10-12 | 1998-01-20 | Ncr Corporation | System and method for generating reports from a computer database |
US20040019610A1 (en) * | 1996-02-27 | 2004-01-29 | Burns Kevin S. | Portal information delivery system for personal computers and SOHO computer systems |
US6014137A (en) | 1996-02-27 | 2000-01-11 | Multimedia Adventures | Electronic kiosk authoring system |
US5787411A (en) * | 1996-03-20 | 1998-07-28 | Microsoft Corporation | Method and apparatus for database filter generation by display selection |
US5701460A (en) * | 1996-05-23 | 1997-12-23 | Microsoft Corporation | Intelligent joining system for a relational database |
US5761654A (en) * | 1996-06-05 | 1998-06-02 | Oracle Corporation | Memory structure and method for tuning a database statement using a join-tree data structure representation, including selectivity factors, of a master table and detail table |
US5895477A (en) * | 1996-09-09 | 1999-04-20 | Design Intelligence, Inc. | Design engine for automatic layout of content |
US5956737A (en) * | 1996-09-09 | 1999-09-21 | Design Intelligence, Inc. | Design engine for fitting content to a medium |
US5895476A (en) * | 1996-09-09 | 1999-04-20 | Design Intelligence, Inc. | Design engine for automatic reformatting for design and media |
US5903902A (en) * | 1996-09-09 | 1999-05-11 | Design Intelligence, Inc. | Design engine with tree and component structure |
US5765147A (en) * | 1996-11-21 | 1998-06-09 | International Business Machines Corportion | Query rewrite for extended search capabilities |
JPH10232875A (ja) * | 1997-02-19 | 1998-09-02 | Hitachi Ltd | データベース管理方法および並列データベース管理システム |
US5905982A (en) * | 1997-04-04 | 1999-05-18 | International Business Machines Corporation | Handling null values in SQL queries over object-oriented data |
US6278994B1 (en) * | 1997-07-10 | 2001-08-21 | International Business Machines Corporation | Fully integrated architecture for user-defined search |
US5870752A (en) * | 1997-08-21 | 1999-02-09 | Lucent Technologies Inc. | Incremental maintenance of an approximate histogram in a database system |
US6012064A (en) * | 1997-08-21 | 2000-01-04 | Lucent Technologies Inc. | Maintaining a random sample of a relation in a database in the presence of updates to the relation |
US6260044B1 (en) * | 1998-02-04 | 2001-07-10 | Nugenesis Technologies Corporation | Information storage and retrieval system for storing and retrieving the visual form of information from an application in a database |
US6052689A (en) * | 1998-04-20 | 2000-04-18 | Lucent Technologies, Inc. | Computer method, apparatus and programmed medium for more efficient database management using histograms with a bounded error selectivity estimation |
US6330552B1 (en) | 1998-09-28 | 2001-12-11 | Compaq | Database query cost model optimizer |
US6263345B1 (en) | 1998-09-28 | 2001-07-17 | Compaq Computers, Corporation | Histogram synthesis modeler for a database query optimizer |
US6360214B1 (en) * | 1998-12-16 | 2002-03-19 | Microsoft Corporation | Automatic database statistics creation |
US6397204B1 (en) | 1999-06-25 | 2002-05-28 | International Business Machines Corporation | Method, system, and program for determining the join ordering of tables in a join query |
US6446063B1 (en) | 1999-06-25 | 2002-09-03 | International Business Machines Corporation | Method, system, and program for performing a join operation on a multi column table and satellite tables |
US6374235B1 (en) | 1999-06-25 | 2002-04-16 | International Business Machines Corporation | Method, system, and program for a join operation on a multi-column table and satellite tables including duplicate values |
US6560593B1 (en) * | 1999-07-20 | 2003-05-06 | Computer Associates Think, Inc. | Method and apparatus for viewing the effect of changes to an index for a database table on an optimization plan for a database query |
US6850891B1 (en) | 1999-07-23 | 2005-02-01 | Ernest H. Forman | Method and system of converting data and judgements to values or priorities |
US7734619B2 (en) * | 2005-05-27 | 2010-06-08 | International Business Machines Corporation | Method of presenting lineage diagrams representing query plans |
US20070033159A1 (en) * | 2005-08-03 | 2007-02-08 | Cherkauer Kevin J | Query plan editor with integrated optimizer |
US9165040B1 (en) | 2006-10-12 | 2015-10-20 | Google Inc. | Producing a ranking for pages using distances in a web-link graph |
US8392406B1 (en) | 2008-05-30 | 2013-03-05 | Oracle International Corporation | Determining a height-balanced histogram incrementally |
US9639587B2 (en) * | 2012-12-13 | 2017-05-02 | Sap Se | Social network analyzer |
CN111368153B (zh) * | 2020-03-23 | 2023-08-29 | 百度在线网络技术(北京)有限公司 | 搜索方法及装置 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
US4930071A (en) * | 1987-06-19 | 1990-05-29 | Intellicorp, Inc. | Method for integrating a knowledge-based system with an arbitrary database system |
JP2760794B2 (ja) * | 1988-01-29 | 1998-06-04 | 株式会社日立製作所 | データベース処理方法および装置 |
US5065347A (en) * | 1988-08-11 | 1991-11-12 | Xerox Corporation | Hierarchical folders display |
US5335345A (en) * | 1990-04-11 | 1994-08-02 | Bell Communications Research, Inc. | Dynamic query optimization using partial information |
US5201046A (en) * | 1990-06-22 | 1993-04-06 | Xidak, Inc. | Relational database management system and method for storing, retrieving and modifying directed graph data structures |
US5379419A (en) * | 1990-12-07 | 1995-01-03 | Digital Equipment Corporation | Methods and apparatus for accesssing non-relational data files using relational queries |
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. |
US5331554A (en) * | 1992-12-10 | 1994-07-19 | Ricoh Corporation | Method and apparatus for semantic pattern matching for text retrieval |
-
1992
- 1992-10-12 FR FR9212148A patent/FR2696852B1/fr not_active Expired - Fee Related
-
1993
- 1993-10-07 JP JP5251797A patent/JP2510945B2/ja not_active Expired - Lifetime
- 1993-10-11 EP EP93402510A patent/EP0593354B1/fr not_active Expired - Lifetime
- 1993-10-11 DE DE69328227T patent/DE69328227T2/de not_active Expired - Lifetime
-
1995
- 1995-09-08 US US08/525,072 patent/US5630120A/en not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014530416A (ja) * | 2011-09-15 | 2014-11-17 | オラクル・インターナショナル・コーポレイション | 分散データ管理システムにおけるクエリ説明計画 |
Also Published As
Publication number | Publication date |
---|---|
EP0593354B1 (fr) | 2000-03-29 |
EP0593354A1 (fr) | 1994-04-20 |
FR2696852B1 (fr) | 1994-12-23 |
DE69328227T2 (de) | 2000-09-07 |
DE69328227D1 (de) | 2000-05-04 |
US5630120A (en) | 1997-05-13 |
FR2696852A1 (fr) | 1994-04-15 |
JP2510945B2 (ja) | 1996-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2510945B2 (ja) | 関係デ―タベ―ス管理システムからの問合せの最適化援助方法 | |
US6119126A (en) | Object-relational query builder which determines existence of structures from information loaded from the server and cached locally on the client computing system | |
US5495605A (en) | Method to help in optimizing a query from a relational data base management system, and resultant method of syntactical analysis | |
US7165073B2 (en) | Dynamic, hierarchical data exchange system | |
JP4571746B2 (ja) | アプリケーション機能に対するアクセスを選択的に規定するためのシステムおよび方法 | |
US6601071B1 (en) | Method and system for business to business data interchange using XML | |
US5499359A (en) | Methods for improved referential integrity in a relational database management system | |
US7792817B2 (en) | System and method for managing complex relationships over distributed heterogeneous data sources | |
US5727196A (en) | Optimized query interface for database management systems | |
US7174345B2 (en) | Methods and systems for auto-partitioning of schema objects | |
RU2406115C2 (ru) | Доступ к сложным данным | |
US20040186860A1 (en) | Method and architecture for providing data-change alerts to external applications via a push service | |
US20010003455A1 (en) | Method, system and graphic user interface for entering and editing filter conditions for filtering a database | |
US20060161528A1 (en) | Method for regenerating selected rows for an otherwise static result set | |
US20040015486A1 (en) | System and method for storing and retrieving data | |
JP2003505766A (ja) | クエリー最適化プラン用インデックスに対する変化の効果を観察するためのデータベースシステム | |
US8458200B2 (en) | Processing query conditions having filtered fields within a data abstraction environment | |
JP2001056810A (ja) | データベースアクセスシステム | |
US9031924B2 (en) | Query conditions having filtered fields within a data abstraction environment | |
JP2001350656A (ja) | 異種データソース統合アクセス方法 | |
JP2006524376A (ja) | 汎用データベーススキーマ | |
US9177008B1 (en) | Positioned updates in a distributed shared-nothing data store | |
US20060235828A1 (en) | User interface method for grouping conditions without editing | |
Cisco | DB Step Descriptions | |
JP3175128B2 (ja) | データベース,ファイルおよびプログラムの統合管理方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090416 Year of fee payment: 13 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090416 Year of fee payment: 13 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100416 Year of fee payment: 14 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110416 Year of fee payment: 15 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120416 Year of fee payment: 16 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130416 Year of fee payment: 17 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140416 Year of fee payment: 18 |
|
EXPY | Cancellation because of completion of term |