JPH0934759A - チューニング情報作成装置およびチューニング情報作成方法 - Google Patents
チューニング情報作成装置およびチューニング情報作成方法Info
- Publication number
- JPH0934759A JPH0934759A JP7185276A JP18527695A JPH0934759A JP H0934759 A JPH0934759 A JP H0934759A JP 7185276 A JP7185276 A JP 7185276A JP 18527695 A JP18527695 A JP 18527695A JP H0934759 A JPH0934759 A JP H0934759A
- Authority
- JP
- Japan
- Prior art keywords
- tuning information
- data
- data processing
- column
- processing condition
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】
【課題】 リレーショナルデータベースシステムに与え
られたSQL文の傾向に応じたチューニング情報を得
る。 【解決手段】 抽出手段3は、SQL文を構文解析して
参照されているテーブル名またはカラム名を抽出する。
解析結果データ生成手段5は、抽出されたテーブル名ま
たはカラム名について、前記データ処理条件においてど
のように参照されているかを示す解析結果データを生成
する。表示制御手段9は、SQL文と当該SQL文にお
いて参照されているテーブル名との関係データまたはS
QL文と当該SQL文において参照されているカラム名
との関係データをシステムチューニング情報として表示
手段10に表示する。
られたSQL文の傾向に応じたチューニング情報を得
る。 【解決手段】 抽出手段3は、SQL文を構文解析して
参照されているテーブル名またはカラム名を抽出する。
解析結果データ生成手段5は、抽出されたテーブル名ま
たはカラム名について、前記データ処理条件においてど
のように参照されているかを示す解析結果データを生成
する。表示制御手段9は、SQL文と当該SQL文にお
いて参照されているテーブル名との関係データまたはS
QL文と当該SQL文において参照されているカラム名
との関係データをシステムチューニング情報として表示
手段10に表示する。
Description
【0001】
【産業上の利用分野】この発明は、リレーショナルデー
タベースシステムのシステムチューニング情報を作成す
るチューニング情報作成装置に関し、特に、データ処理
条件の解析に関する。
タベースシステムのシステムチューニング情報を作成す
るチューニング情報作成装置に関し、特に、データ処理
条件の解析に関する。
【0002】
【従来技術およびその課題】一般にデータベースのチュ
ーニングには、データベース構造のチューニング、デー
タベースマネージメントシステムのパラメータチューニ
ング、インデックスの張り替えやSQLのチューニング
が存在する。しかしながら、従来は、かかるチューニン
グを行なう際にSEが自らの経験に基づいて試行錯誤で
行なっていた。従って、有効なチューニングを行なうこ
とができなかった。
ーニングには、データベース構造のチューニング、デー
タベースマネージメントシステムのパラメータチューニ
ング、インデックスの張り替えやSQLのチューニング
が存在する。しかしながら、従来は、かかるチューニン
グを行なう際にSEが自らの経験に基づいて試行錯誤で
行なっていた。従って、有効なチューニングを行なうこ
とができなかった。
【0003】この発明は、データベースシステムに発行
される処理命令を分析し、チューニングを適切に行う為
のチューニング情報を提供することを目的とする。
される処理命令を分析し、チューニングを適切に行う為
のチューニング情報を提供することを目的とする。
【0004】
【0005】
【課題を解決するために案出した技術思想】請求項1の
チューニング情報作成装置においては、データ処理条件
の傾向に基づくチューニング情報を得る為に、データ処
理条件において参照されているテーブル名またはカラム
名について、当該データ処理条件においてどのように参
照されているかを示す解析結果データをシステムチュー
ニング情報として生成するようにした。
チューニング情報作成装置においては、データ処理条件
の傾向に基づくチューニング情報を得る為に、データ処
理条件において参照されているテーブル名またはカラム
名について、当該データ処理条件においてどのように参
照されているかを示す解析結果データをシステムチュー
ニング情報として生成するようにした。
【0006】すなわち、発明の全体構成を示す図である
図1に記載しているように、請求項1のチューニング情
報作成装置においては、前記リレーショナルデータベー
スシステムに与えられたデータ処理条件を解析して、当
該データ処理条件において参照されているテーブル名ま
たはカラム名を抽出するとともに、抽出したテーブル名
またはカラム名について、前記データ処理条件において
どのように参照されているかを示す解析結果データをシ
ステムチューニング情報として生成することを特徴とす
る。
図1に記載しているように、請求項1のチューニング情
報作成装置においては、前記リレーショナルデータベー
スシステムに与えられたデータ処理条件を解析して、当
該データ処理条件において参照されているテーブル名ま
たはカラム名を抽出するとともに、抽出したテーブル名
またはカラム名について、前記データ処理条件において
どのように参照されているかを示す解析結果データをシ
ステムチューニング情報として生成することを特徴とす
る。
【0007】請求項2のチューニング情報作成装置にお
いては、前記リレーショナルデータベースシステムの処
理履歴を記憶する処理履歴記憶部から、処理結果を抽出
し、この処理結果を含む解析結果データをシステムチュ
ーニング情報として生成することを特徴とする。
いては、前記リレーショナルデータベースシステムの処
理履歴を記憶する処理履歴記憶部から、処理結果を抽出
し、この処理結果を含む解析結果データをシステムチュ
ーニング情報として生成することを特徴とする。
【0008】請求項3のチューニング情報作成装置にお
いては、抽出したカラムに付加されているインデックス
情報を抽出し、このインデックス情報を含む解析結果デ
ータをシステムチューニング情報として生成することを
特徴とする。
いては、抽出したカラムに付加されているインデックス
情報を抽出し、このインデックス情報を含む解析結果デ
ータをシステムチューニング情報として生成することを
特徴とする。
【0009】請求項4のチューニング情報表示装置にお
いては、抽出した処理結果が所定のしきい値を越えるか
否かを判断し、この処理結果が所定のしきい値を越えた
場合のみ、当該与えられたデータ処理条件を解析するこ
とを特徴とする。
いては、抽出した処理結果が所定のしきい値を越えるか
否かを判断し、この処理結果が所定のしきい値を越えた
場合のみ、当該与えられたデータ処理条件を解析するこ
とを特徴とする。
【0010】請求項5のチューニング情報表示装置にお
いては、前記リレーショナルデータベースシステムに与
えられたデータ処理条件を解析して、当該データ処理条
件と当該データ処理条件において参照されているテーブ
ル名との関係データ、または当該データ処理条件と当該
データ処理条件において参照されているカラム名との関
係データをシステムチューニング情報として表示するこ
とを特徴とする。
いては、前記リレーショナルデータベースシステムに与
えられたデータ処理条件を解析して、当該データ処理条
件と当該データ処理条件において参照されているテーブ
ル名との関係データ、または当該データ処理条件と当該
データ処理条件において参照されているカラム名との関
係データをシステムチューニング情報として表示するこ
とを特徴とする。
【0011】請求項6のチューニング情報表示装置にお
いては、複数のデータ処理条件について、前記システム
チューニング情報を表示する際、参照されている処理対
象テーブルが同じデータ処理条件、または、参照されて
いる処理対象カラムが同じデータ処理条件について、異
なるデータ処理条件とは区別容易に表示することを特徴
とする。
いては、複数のデータ処理条件について、前記システム
チューニング情報を表示する際、参照されている処理対
象テーブルが同じデータ処理条件、または、参照されて
いる処理対象カラムが同じデータ処理条件について、異
なるデータ処理条件とは区別容易に表示することを特徴
とする。
【0012】請求項7のチューニング情報作成装置にお
いては、前記リレーショナルデータベースシステムの処
理履歴を記憶する処理履歴記憶部から、処理結果を抽出
し、この処理結果を含む解析結果データを合せて表示す
るとともに、並び替え命令が与えられると複数のデータ
処理条件について、かかる処理結果の値に基づいて複数
のシステムチューニング情報の順序を並びかえて表示す
ることを特徴とする。
いては、前記リレーショナルデータベースシステムの処
理履歴を記憶する処理履歴記憶部から、処理結果を抽出
し、この処理結果を含む解析結果データを合せて表示す
るとともに、並び替え命令が与えられると複数のデータ
処理条件について、かかる処理結果の値に基づいて複数
のシステムチューニング情報の順序を並びかえて表示す
ることを特徴とする。
【0013】請求項8のチューニング情報作成方法にお
いては、前記リレーショナルデータベースシステムに与
えられたデータ処理条件を解析して、当該データ処理条
件において参照されているテーブル名またはカラム名を
抽出し、この抽出したテーブル名またはカラム名につい
て、前記データ処理条件においてどのように参照されて
いるかを示す解析結果データをシステムチューニング情
報として生成することを特徴とする。
いては、前記リレーショナルデータベースシステムに与
えられたデータ処理条件を解析して、当該データ処理条
件において参照されているテーブル名またはカラム名を
抽出し、この抽出したテーブル名またはカラム名につい
て、前記データ処理条件においてどのように参照されて
いるかを示す解析結果データをシステムチューニング情
報として生成することを特徴とする。
【0014】請求項9のチューニング情報表示方法にお
いては、前記リレーショナルデータベースシステムに与
えられたデータ処理条件を解析して、当該データ処理条
件と当該データ処理条件において参照されているテーブ
ル名との関係データ、または当該データ処理条件と当該
データ処理条件において参照されているカラム名との関
係データをシステムチューニング情報として表示するこ
とを特徴とする。
いては、前記リレーショナルデータベースシステムに与
えられたデータ処理条件を解析して、当該データ処理条
件と当該データ処理条件において参照されているテーブ
ル名との関係データ、または当該データ処理条件と当該
データ処理条件において参照されているカラム名との関
係データをシステムチューニング情報として表示するこ
とを特徴とする。
【0015】請求項10の記憶媒体は、請求項1ないし
請求項7のいずれかの装置又は方法を、コンピュータを
用いて実現する為のプログラムを記憶している。
請求項7のいずれかの装置又は方法を、コンピュータを
用いて実現する為のプログラムを記憶している。
【0016】
【用語の定義】課題を解決するために案出した技術思想
を表現するのに用いた請求項の用語の概念を、以下のよ
うに定義するとともに、その用語と実施例との関係につ
いて説明する。
を表現するのに用いた請求項の用語の概念を、以下のよ
うに定義するとともに、その用語と実施例との関係につ
いて説明する。
【0017】「解析結果データ」:抽出したテーブル名
またはカラム名について、データ処理条件においてどの
ように参照されているかを示すデータであり、実施例で
は、構文木データに該当する。
またはカラム名について、データ処理条件においてどの
ように参照されているかを示すデータであり、実施例で
は、構文木データに該当する。
【0018】「データ処理条件」:リレーショナルデー
タベースシステムに与えられるデータ処理を行うための
命令文をいい、実施例では、SQL文に該当する。
タベースシステムに与えられるデータ処理を行うための
命令文をいい、実施例では、SQL文に該当する。
【0019】「システムチューニング情報」:リレーシ
ョナルデータベースシステムにおいて、システムが高速
処理を可能とする為のデータ構造の変更、インデックス
の張り替え等を操作者が設定するために参照にする情報
をいい、実施例では図13に示すSQL/テーブル情報
およびSQL/カラム情報に該当する。
ョナルデータベースシステムにおいて、システムが高速
処理を可能とする為のデータ構造の変更、インデックス
の張り替え等を操作者が設定するために参照にする情報
をいい、実施例では図13に示すSQL/テーブル情報
およびSQL/カラム情報に該当する。
【0020】「処理結果」:与えられたデータ処理条件
に基づいて、リレーショナルデータベースシステムが処
理した結果であり、実施例では、SQL発行数、SQL
処理時間およびヒット数に該当する。
に基づいて、リレーショナルデータベースシステムが処
理した結果であり、実施例では、SQL発行数、SQL
処理時間およびヒット数に該当する。
【0021】「並び替え命令」:チューニング情報を並
び替える命令であり、どの項目に基づいて、並び替えを
行うかを示すデータを含む。
び替える命令であり、どの項目に基づいて、並び替えを
行うかを示すデータを含む。
【0022】
【作用および発明の効果】請求項1、請求項8のチュー
ニング情報作成装置またはその方法においては、前記リ
レーショナルデータベースシステムに与えられたデータ
処理条件を解析して、当該データ処理条件において参照
されているテーブル名またはカラム名を抽出する。そし
て、この抽出したテーブル名またはカラム名について、
前記データ処理条件においてどのように参照されている
かを示す解析結果データをシステムチューニング情報と
して生成する。したがって、前記リレーショナルデータ
ベースシステムに与えられたデータ処理条件に応じたチ
ューニング情報を得ることができる。
ニング情報作成装置またはその方法においては、前記リ
レーショナルデータベースシステムに与えられたデータ
処理条件を解析して、当該データ処理条件において参照
されているテーブル名またはカラム名を抽出する。そし
て、この抽出したテーブル名またはカラム名について、
前記データ処理条件においてどのように参照されている
かを示す解析結果データをシステムチューニング情報と
して生成する。したがって、前記リレーショナルデータ
ベースシステムに与えられたデータ処理条件に応じたチ
ューニング情報を得ることができる。
【0023】請求項2のチューニング情報作成装置にお
いては、前記リレーショナルデータベースシステムの処
理履歴を記憶する処理履歴記憶部から、処理結果を抽出
し、この処理結果を含む解析結果データをシステムチュ
ーニング情報として生成する。したがって、処理結果を
考慮したチューニング情報を得ることができる。
いては、前記リレーショナルデータベースシステムの処
理履歴を記憶する処理履歴記憶部から、処理結果を抽出
し、この処理結果を含む解析結果データをシステムチュ
ーニング情報として生成する。したがって、処理結果を
考慮したチューニング情報を得ることができる。
【0024】請求項3のチューニング情報作成装置にお
いては、抽出したカラムに付加されているインデックス
情報を抽出し、このインデックス情報を含む解析結果デ
ータをシステムチューニング情報として生成する。した
がって、操作者はかかるシステムチューニング情報を参
照して、各カラムにインデックスを付加すべきかまたは
削除すべきか否かを容易に判断することができる。
いては、抽出したカラムに付加されているインデックス
情報を抽出し、このインデックス情報を含む解析結果デ
ータをシステムチューニング情報として生成する。した
がって、操作者はかかるシステムチューニング情報を参
照して、各カラムにインデックスを付加すべきかまたは
削除すべきか否かを容易に判断することができる。
【0025】請求項4のチューニング情報表示装置にお
いては、抽出した処理結果が所定のしきい値を越えるか
否かを判断する。そして、この処理結果が所定のしきい
値を越えた場合のみ、当該与えられたデータ処理条件を
解析する。したがって、効果的なチューニングを行う為
のチューニング情報を速く得ることができる。
いては、抽出した処理結果が所定のしきい値を越えるか
否かを判断する。そして、この処理結果が所定のしきい
値を越えた場合のみ、当該与えられたデータ処理条件を
解析する。したがって、効果的なチューニングを行う為
のチューニング情報を速く得ることができる。
【0026】請求項5、請求項9のチューニング情報表
示装置またはその方法においては、前記リレーショナル
データベースシステムに与えられたデータ処理条件を解
析して、当該データ処理条件と当該データ処理条件にお
いて参照されているテーブル名との関係データ、または
当該データ処理条件と当該データ処理条件において参照
されているカラム名との関係データをシステムチューニ
ング情報として表示する。したがって、操作者は、表示
されたシステムチューニング情報を参照して、チューニ
ングを行えばよい。すなわち、操作者は、前記リレーシ
ョナルデータベースシステムをチューニングする際、当
該リレーショナルデータベースシステムに与えられたデ
ータ処理条件を自ら解析する必要がない。
示装置またはその方法においては、前記リレーショナル
データベースシステムに与えられたデータ処理条件を解
析して、当該データ処理条件と当該データ処理条件にお
いて参照されているテーブル名との関係データ、または
当該データ処理条件と当該データ処理条件において参照
されているカラム名との関係データをシステムチューニ
ング情報として表示する。したがって、操作者は、表示
されたシステムチューニング情報を参照して、チューニ
ングを行えばよい。すなわち、操作者は、前記リレーシ
ョナルデータベースシステムをチューニングする際、当
該リレーショナルデータベースシステムに与えられたデ
ータ処理条件を自ら解析する必要がない。
【0027】請求項6のチューニング情報表示装置にお
いては、複数のデータ処理条件について、前記システム
チューニング情報を表示する際、参照されている処理対
象テーブルが同じデータ処理条件、または、参照されて
いる処理対象カラムが同じデータ処理条件について、異
なるデータ処理条件とは区別容易に表示する。したがっ
て、操作者は、参照されている処理対象テーブルまたは
カラムが同じデータ処理条件と、参照されている処理対
象テーブルまたはカラムが異なるデータ処理条件を容易
に区別することができる。
いては、複数のデータ処理条件について、前記システム
チューニング情報を表示する際、参照されている処理対
象テーブルが同じデータ処理条件、または、参照されて
いる処理対象カラムが同じデータ処理条件について、異
なるデータ処理条件とは区別容易に表示する。したがっ
て、操作者は、参照されている処理対象テーブルまたは
カラムが同じデータ処理条件と、参照されている処理対
象テーブルまたはカラムが異なるデータ処理条件を容易
に区別することができる。
【0028】請求項7のチューニング情報作成装置にお
いては、並び替え命令が与えられると複数のデータ処理
条件について、処理結果の値に基づいて複数のシステム
チューニング情報の順序を並び替えて表示する。これに
より、操作者は、どのようなチューニングを行えば、よ
り効果的か否かの判断が容易となる。
いては、並び替え命令が与えられると複数のデータ処理
条件について、処理結果の値に基づいて複数のシステム
チューニング情報の順序を並び替えて表示する。これに
より、操作者は、どのようなチューニングを行えば、よ
り効果的か否かの判断が容易となる。
【0029】
【実施例】本発明の一実施例を図面に基づいて説明す
る。図1に示すチューニング情報作成装置1は、リレー
ショナルデータベースシステム18におけるシステムチ
ューニング情報を作成する装置である。リレーショナル
データベースシステム18は、データ記憶部15にカラ
ムとレコードで表される2次元テーブルにデータを記憶
する。データ処理部13は、データ処理命令が与えられ
ると、当該2次元テーブルを検索して、対応するデータ
処理を行う。実行された処理結果は、データ処理命令と
ともに、処理履歴記憶部11に記憶される。構造特性デ
ータ記憶部16には、データ記憶部15に関する構造特
性データが記憶される。本実施例においては、構造特性
データとして、インデックス情報、テーブル情報および
カラム情報を採用した。データ処理部13は、処理に必
要な場合には、かかる構造特性データを取得して、デー
タ処理を行う。
る。図1に示すチューニング情報作成装置1は、リレー
ショナルデータベースシステム18におけるシステムチ
ューニング情報を作成する装置である。リレーショナル
データベースシステム18は、データ記憶部15にカラ
ムとレコードで表される2次元テーブルにデータを記憶
する。データ処理部13は、データ処理命令が与えられ
ると、当該2次元テーブルを検索して、対応するデータ
処理を行う。実行された処理結果は、データ処理命令と
ともに、処理履歴記憶部11に記憶される。構造特性デ
ータ記憶部16には、データ記憶部15に関する構造特
性データが記憶される。本実施例においては、構造特性
データとして、インデックス情報、テーブル情報および
カラム情報を採用した。データ処理部13は、処理に必
要な場合には、かかる構造特性データを取得して、デー
タ処理を行う。
【0030】チューニング情報作成装置1は、チューニ
ング情報作成手段2、解析結果データ記憶手段7、表示
制御手段9および表示手段10を備えている。
ング情報作成手段2、解析結果データ記憶手段7、表示
制御手段9および表示手段10を備えている。
【0031】チューニング情報作成手段2は抽出手段
3、解析結果データ生成手段5を備えている。抽出手段
3は、リレーショナルデータベースシステム18の処理
履歴記憶部11から、データ処理条件および処理結果を
抽出する。抽出手段3は、抽出した処理結果が所定のし
きい値を越えるか否かを判断する。本実施例において
は、処理結果としてSQL文発行数、SQL処理時間、
SQL処理総時間を採用した。この処理結果が所定のし
きい値を越えた場合には、当該与えられたデータ処理条
件を構文解析する。そして、当該データ処理条件におい
て参照されているテーブル名またはカラム名を抽出す
る。
3、解析結果データ生成手段5を備えている。抽出手段
3は、リレーショナルデータベースシステム18の処理
履歴記憶部11から、データ処理条件および処理結果を
抽出する。抽出手段3は、抽出した処理結果が所定のし
きい値を越えるか否かを判断する。本実施例において
は、処理結果としてSQL文発行数、SQL処理時間、
SQL処理総時間を採用した。この処理結果が所定のし
きい値を越えた場合には、当該与えられたデータ処理条
件を構文解析する。そして、当該データ処理条件におい
て参照されているテーブル名またはカラム名を抽出す
る。
【0032】解析結果データ生成手段5は、抽出手段3
が抽出したテーブル名またはカラム名について、前記デ
ータ処理条件においてどのように参照されているかを示
す解析結果データを生成する。また、解析結果データ生
成手段5は、抽出手段3が抽出した処理結果を合せて解
析結果データとして生成する。さらに後述するように、
ヒット数およびテーブルのレコード数に基づいてヒット
率を演算し、かかるヒット率を含む解析結果データを生
成する。
が抽出したテーブル名またはカラム名について、前記デ
ータ処理条件においてどのように参照されているかを示
す解析結果データを生成する。また、解析結果データ生
成手段5は、抽出手段3が抽出した処理結果を合せて解
析結果データとして生成する。さらに後述するように、
ヒット数およびテーブルのレコード数に基づいてヒット
率を演算し、かかるヒット率を含む解析結果データを生
成する。
【0033】また、抽出手段3は、抽出したカラムに付
加されているインデックス情報を構造特性データ記憶部
16から抽出する。解析結果データ生成手段5は、この
インデックス情報を含む解析結果データを生成する。
加されているインデックス情報を構造特性データ記憶部
16から抽出する。解析結果データ生成手段5は、この
インデックス情報を含む解析結果データを生成する。
【0034】解析結果データ記憶手段7は、この解析結
果データを記憶する。表示制御手段9は、当該データ処
理条件と当該データ処理条件において参照されているテ
ーブル名との関係データをシステムチューニング情報と
して表示手段10に表示する。
果データを記憶する。表示制御手段9は、当該データ処
理条件と当該データ処理条件において参照されているテ
ーブル名との関係データをシステムチューニング情報と
して表示手段10に表示する。
【0035】また、表示制御手段9は、詳細表示命令が
与えられると、当該データ処理条件と当該データ処理条
件において参照されているカラム名との関係データを作
成して、表示手段10に表示する。また、表示制御手段
9は、並び替え命令が与えられると複数のデータ処理条
件について、処理結果の値に基づいて複数のシステムチ
ューニング情報の順序を並び替えて表示する。
与えられると、当該データ処理条件と当該データ処理条
件において参照されているカラム名との関係データを作
成して、表示手段10に表示する。また、表示制御手段
9は、並び替え命令が与えられると複数のデータ処理条
件について、処理結果の値に基づいて複数のシステムチ
ューニング情報の順序を並び替えて表示する。
【0036】この様にして、リレーショナルデータベー
スシステム18に与えられたデータ処理条件が解析さ
れ、当該データ処理条件と当該データ処理条件において
参照されているテーブル名との関係データ、または当該
データ処理条件と当該データ処理条件において参照され
ているカラム名との関係データがシステムチューニング
情報として表示される。
スシステム18に与えられたデータ処理条件が解析さ
れ、当該データ処理条件と当該データ処理条件において
参照されているテーブル名との関係データ、または当該
データ処理条件と当該データ処理条件において参照され
ているカラム名との関係データがシステムチューニング
情報として表示される。
【0037】また、表示制御手段9は、複数のデータ処
理条件について、前記システムチューニング情報を表示
する際、参照されている処理対象テーブルが同じデータ
処理条件、または、参照されている処理対象カラムが同
じデータ処理条件について、異なるデータ処理条件とは
区別容易に表示する。異なるデータ処理条件とは区別容
易に表示するとは、例えば、データ処理条件の順序を並
びかえて、同じデータ処理条件については、隣接して表
示したり、また、複数のデータ処理条件を1つの項目に
まとめて表示する(総処理時間等を総計して、表示す
る)ことをいう。
理条件について、前記システムチューニング情報を表示
する際、参照されている処理対象テーブルが同じデータ
処理条件、または、参照されている処理対象カラムが同
じデータ処理条件について、異なるデータ処理条件とは
区別容易に表示する。異なるデータ処理条件とは区別容
易に表示するとは、例えば、データ処理条件の順序を並
びかえて、同じデータ処理条件については、隣接して表
示したり、また、複数のデータ処理条件を1つの項目に
まとめて表示する(総処理時間等を総計して、表示す
る)ことをいう。
【0038】図2は、図1に示すチューニング情報作成
装置1をCPUを用いて実現したハードウェア構成の一
例を示す。
装置1をCPUを用いて実現したハードウェア構成の一
例を示す。
【0039】チューニング情報作成装置1は、CPU2
3、メモリ27、ハードディスク26、CRT28、マ
ウス31、FDD25、入出力インターフェイス32お
よびバスライン29を備えている。
3、メモリ27、ハードディスク26、CRT28、マ
ウス31、FDD25、入出力インターフェイス32お
よびバスライン29を備えている。
【0040】CPU23は、ハードディスク26に記憶
された制御プログラムにしたがいバスライン29を介し
て、各部を制御する。
された制御プログラムにしたがいバスライン29を介し
て、各部を制御する。
【0041】この制御プログラムは、FDD25を介し
て、プログラムが記憶されたフレキシブルディスクから
読み出されてハードディスク26に記憶された(インス
トールされた)ものである。ハードディスク26には後
述する解析結果データが記憶される。メモリ27には演
算結果等が一時記憶される。CRT28には、CPU2
3が処理したチューニング情報等が表示される。
て、プログラムが記憶されたフレキシブルディスクから
読み出されてハードディスク26に記憶された(インス
トールされた)ものである。ハードディスク26には後
述する解析結果データが記憶される。メモリ27には演
算結果等が一時記憶される。CRT28には、CPU2
3が処理したチューニング情報等が表示される。
【0042】入出力インターフェイス32には、データ
ベースマネジメントシステム(DBMS)34が接続さ
れている。データベース部35には、各種のデータとと
もに、このデータベースシステムの論理構造および物理
構造に関する情報、例えば、テーブルが記憶されている
アドレス、各テーブルのカラムにインデックスがどのよ
うに付与されているか等を記憶する。
ベースマネジメントシステム(DBMS)34が接続さ
れている。データベース部35には、各種のデータとと
もに、このデータベースシステムの論理構造および物理
構造に関する情報、例えば、テーブルが記憶されている
アドレス、各テーブルのカラムにインデックスがどのよ
うに付与されているか等を記憶する。
【0043】なお、本実施例では、データベースシステ
ムとして、オラクルデータベースシステム(オラクル社
製)を採用し、オペレーティングシステムとして、DG/U
Xオペレーティングシステム(データゼネラル社製)を
採用した。
ムとして、オラクルデータベースシステム(オラクル社
製)を採用し、オペレーティングシステムとして、DG/U
Xオペレーティングシステム(データゼネラル社製)を
採用した。
【0044】つぎに、図3を用いて、ハードディスク2
6に記憶されているプログラムについて、説明する。
6に記憶されているプログラムについて、説明する。
【0045】CPU23は、入出力インターフェイス3
2を介してデータベースマネージメントシステム34に
アクセスし、トレースログ(図示せず)から発行された
SQL文およびその処理結果を読み込み、メモリ27に
記憶する(図3ステップST1)。各SQL文は、その
内容、発行数、処理時間およびヒット数が対応して記憶
されている。ここでは、図4に示すようなSQL文およ
びその処理結果が読み込まれているものとして説明す
る。
2を介してデータベースマネージメントシステム34に
アクセスし、トレースログ(図示せず)から発行された
SQL文およびその処理結果を読み込み、メモリ27に
記憶する(図3ステップST1)。各SQL文は、その
内容、発行数、処理時間およびヒット数が対応して記憶
されている。ここでは、図4に示すようなSQL文およ
びその処理結果が読み込まれているものとして説明す
る。
【0046】つぎに、CPU23は、同様にして、デー
タベース構造情報を読み込む(図3ステップST3)。
本実施例においては、データベース構造情報としてイン
デックス情報および各テーブルのレコード数を採用し
た。つぎに、CPU23は、処理番号iを初期化し(ス
テップST5)、i番目のSQL文を読み出す(ステッ
プST7)。
タベース構造情報を読み込む(図3ステップST3)。
本実施例においては、データベース構造情報としてイン
デックス情報および各テーブルのレコード数を採用し
た。つぎに、CPU23は、処理番号iを初期化し(ス
テップST5)、i番目のSQL文を読み出す(ステッ
プST7)。
【0047】この場合、i=1であるので、SQL文1
が読み出される。つぎに、CPU23は、読み出された
SQL文の処理結果が所定のしきい値を越えるか否か判
断する。本実施例においては、かかるしきい値として
「SQL発行数10」を採用した。この場合、SQL発
行数は100であるので、前記しきい値を越えると判断
し、CPU23は、構文木データを作成する(ステップ
ST9)。
が読み出される。つぎに、CPU23は、読み出された
SQL文の処理結果が所定のしきい値を越えるか否か判
断する。本実施例においては、かかるしきい値として
「SQL発行数10」を採用した。この場合、SQL発
行数は100であるので、前記しきい値を越えると判断
し、CPU23は、構文木データを作成する(ステップ
ST9)。
【0048】なお、かかるしきい値は任意の値とするこ
とができ、さらに、複数の項目、例えば「SQL発行数
10で、かつ処理時間が0.05」というように組合わ
せるようにしてもよい。
とができ、さらに、複数の項目、例えば「SQL発行数
10で、かつ処理時間が0.05」というように組合わ
せるようにしてもよい。
【0049】構文木データについて図5を用いて説明す
る。構文木データは、SQL文を構文木に分解したもの
であり、字句テーブル、式テーブル、条件式テーブル、
オブジェクトテーブルから構成される。例えば、図4に
示すSQL文1については、字句テーブルに「SELEC
T」、「FROM」、「WHERE」、「式テーブル」、「オブジ
ェクトテーブル」、「次のテーブル」が記憶される。式
テーブルには、カラムの名称が記憶される。この場合、
式テーブルにカラム「LOCATION」、「AGE」、「AGE」、
「LOCATION」、「NAME_ID」が記憶されている。また、
オブジェクトテーブルには関係するテーブル名が記憶さ
れる。この場合は、テーブル「ADDRESS」が記憶され
る。
る。構文木データは、SQL文を構文木に分解したもの
であり、字句テーブル、式テーブル、条件式テーブル、
オブジェクトテーブルから構成される。例えば、図4に
示すSQL文1については、字句テーブルに「SELEC
T」、「FROM」、「WHERE」、「式テーブル」、「オブジ
ェクトテーブル」、「次のテーブル」が記憶される。式
テーブルには、カラムの名称が記憶される。この場合、
式テーブルにカラム「LOCATION」、「AGE」、「AGE」、
「LOCATION」、「NAME_ID」が記憶されている。また、
オブジェクトテーブルには関係するテーブル名が記憶さ
れる。この場合は、テーブル「ADDRESS」が記憶され
る。
【0050】式テーブルの1つ目のカラム「LOCATION」
については、SELECT文で参照されている。つぎのカラム
「AGE」(1つ目)についても同様である。つぎのカラ
ム「AGE」(2つ目)は、条件式「AVG」が接続されてい
る。つぎの「LOCATION」(2つ目)には、条件式「=」
が接続されている。つぎの「NAME_ID」には条件式「I
N」が接続されている。
については、SELECT文で参照されている。つぎのカラム
「AGE」(1つ目)についても同様である。つぎのカラ
ム「AGE」(2つ目)は、条件式「AVG」が接続されてい
る。つぎの「LOCATION」(2つ目)には、条件式「=」
が接続されている。つぎの「NAME_ID」には条件式「I
N」が接続されている。
【0051】また、図4に示すSQL文1については、
副問い合わせ文が存在する。したがって、この副問い合
わせ文の内容も同様に、字句テーブル、式テーブル、条
件式テーブル、オブジェクトテーブルに分解される。つ
ぎに、CPU23は、この排斥した構文木データをメモ
リ27(図2参照)に記憶する。
副問い合わせ文が存在する。したがって、この副問い合
わせ文の内容も同様に、字句テーブル、式テーブル、条
件式テーブル、オブジェクトテーブルに分解される。つ
ぎに、CPU23は、この排斥した構文木データをメモ
リ27(図2参照)に記憶する。
【0052】つぎに、CPU23は、解析処理を行なう
(図3ステップST11)。この解析処理により、図5
に示す構文木データは、図9に示すツリー構造データに
解析される。
(図3ステップST11)。この解析処理により、図5
に示す構文木データは、図9に示すツリー構造データに
解析される。
【0053】解析処理について図6を用いて説明する。
CPU23は、図5に示す構文木データの字句テーブル
に記憶されてあるSQL文の種類を判断する(図6ステ
ップST31)。この場合、字句テーブルには、「SELE
CT」が記憶されているので、図9に示すように冒頭に
「SELECT」が記憶される。
CPU23は、図5に示す構文木データの字句テーブル
に記憶されてあるSQL文の種類を判断する(図6ステ
ップST31)。この場合、字句テーブルには、「SELE
CT」が記憶されているので、図9に示すように冒頭に
「SELECT」が記憶される。
【0054】つぎに、CPU23は、テーブルリストを
作成する(図6ステップST32)。テーブルリスト作
成について図7を用いて説明する。CPU23は、図5
に示す構文木データからテーブル名を読み出す(図7ス
テップST35)。この場合、オブジェクトテーブルに
記憶された、テーブル「ADDRESS」が読み出される。つ
ぎに、CPU23は、ノードについての判断を行なう
(図7ステップST36)。この場合、テーブル「ADDR
ESS」は0番目のノードである。そして、CPU23
は、当該テーブル名およびノードをSQL解析データと
して記憶する(図7ステップST37)。具体的には、
テーブル「ADDRESS」、SELECT文に接続されているノー
ド「0」として「S0」が記憶される。
作成する(図6ステップST32)。テーブルリスト作
成について図7を用いて説明する。CPU23は、図5
に示す構文木データからテーブル名を読み出す(図7ス
テップST35)。この場合、オブジェクトテーブルに
記憶された、テーブル「ADDRESS」が読み出される。つ
ぎに、CPU23は、ノードについての判断を行なう
(図7ステップST36)。この場合、テーブル「ADDR
ESS」は0番目のノードである。そして、CPU23
は、当該テーブル名およびノードをSQL解析データと
して記憶する(図7ステップST37)。具体的には、
テーブル「ADDRESS」、SELECT文に接続されているノー
ド「0」として「S0」が記憶される。
【0055】なお、もし、字句テーブルに記憶されてあ
るSQL文が「insert」であれば、「I0」となる。SQ
L文の種類とその省略記号の対応を図10に示す。
るSQL文が「insert」であれば、「I0」となる。SQ
L文の種類とその省略記号の対応を図10に示す。
【0056】つぎに、CPU23は、全てのテーブルと
して処理が行なわれたかどうか判断する(図7ステップ
ST38)。この場合、オブジェクトテーブルはテーブ
ル「ADDRESS」が存在するだけなので、全てのテーブル
処理が終了したとしてテーブルリスト作成処理を終了す
る。これにより、図9に示すように、テーブルリストに
は、テーブル名「ADDRESS」、値「S0」、「NULL」が記
憶される。
して処理が行なわれたかどうか判断する(図7ステップ
ST38)。この場合、オブジェクトテーブルはテーブ
ル「ADDRESS」が存在するだけなので、全てのテーブル
処理が終了したとしてテーブルリスト作成処理を終了す
る。これにより、図9に示すように、テーブルリストに
は、テーブル名「ADDRESS」、値「S0」、「NULL」が記
憶される。
【0057】つぎに、CPU23は、カラムリスト作成
処理を行なう(図6ステップST33)。カラムリスト
作成処理について図8を用いて説明する。まず、CPU
23は、図5に示す構文木データの式テーブルからカラ
ム名を読み出す(図8ステップST41)。この場合、
1つ目のカラム「LOCATION」が読み出される。つぎに、
CPU23は、読み出したカラム「LOCATION」について
条件式が接続されているか否かを判断する(図8ステッ
プST43)。この場合、読み出したカラム「LOCATIO
N」には、条件式が接続されていないので、SQL文に
接続されていると判断する(ステップST45)。つぎ
にノード判断を行なう(ステップST48)。この場
合、読み出したカラム「LOCATION」は、0番目のノード
であると判断する。つぎに、CPU23は、SQL解析
データとしてメモリ27に記憶する(ステップST4
9)。これにより図9に示すように、テーブル「ADDRES
S」、カラム「LOCATION」、値「S0」が記憶される。C
PU23は、全てのカラムについて処理が終了したか否
か判断する(ステップST50)。この場合、つぎにカ
ラムが存在するので、同様にしてステップST40以下
の処理を繰り返す。
処理を行なう(図6ステップST33)。カラムリスト
作成処理について図8を用いて説明する。まず、CPU
23は、図5に示す構文木データの式テーブルからカラ
ム名を読み出す(図8ステップST41)。この場合、
1つ目のカラム「LOCATION」が読み出される。つぎに、
CPU23は、読み出したカラム「LOCATION」について
条件式が接続されているか否かを判断する(図8ステッ
プST43)。この場合、読み出したカラム「LOCATIO
N」には、条件式が接続されていないので、SQL文に
接続されていると判断する(ステップST45)。つぎ
にノード判断を行なう(ステップST48)。この場
合、読み出したカラム「LOCATION」は、0番目のノード
であると判断する。つぎに、CPU23は、SQL解析
データとしてメモリ27に記憶する(ステップST4
9)。これにより図9に示すように、テーブル「ADDRES
S」、カラム「LOCATION」、値「S0」が記憶される。C
PU23は、全てのカラムについて処理が終了したか否
か判断する(ステップST50)。この場合、つぎにカ
ラムが存在するので、同様にしてステップST40以下
の処理を繰り返す。
【0058】なお、2つ目のカラム「AGE」についても
同様にして、テーブル「ADDRESS」、カラム「AGE」、値
「S0」が記憶される。
同様にして、テーブル「ADDRESS」、カラム「AGE」、値
「S0」が記憶される。
【0059】つぎに、CPU23が、図5に示す式テー
ブルの3番目のカラム「AGE」を読み出した場合の処理
について説明する。この場合、ステップST43におい
て、条件式「AVG」が接続されているので、ステップS
T44に進み、当該条件式を読み出す。CPU23は、
条件式テーブルに記憶されていた「AVG」が図10に示
す条件式リストに存在するか否かを判断する(図8ステ
ップST47)。この場合、条件式テーブルに記憶され
ている「AVG」はグループ関数であるので、図10に示
す条件式リストに存在する。したがって、図8ステップ
ST48に進み、ノードを判断する。この場合、カラム
「AGE」のノードは0番目であると判断される。つぎ
に、CPU23は、SQL解析データとして図9に示す
ようにテーブル「ADDRESS」、カラム「AGE」、値「G0」
を記憶する。このような処理を図5に示す式テーブルの
全てのカラムについて処理を行なう。
ブルの3番目のカラム「AGE」を読み出した場合の処理
について説明する。この場合、ステップST43におい
て、条件式「AVG」が接続されているので、ステップS
T44に進み、当該条件式を読み出す。CPU23は、
条件式テーブルに記憶されていた「AVG」が図10に示
す条件式リストに存在するか否かを判断する(図8ステ
ップST47)。この場合、条件式テーブルに記憶され
ている「AVG」はグループ関数であるので、図10に示
す条件式リストに存在する。したがって、図8ステップ
ST48に進み、ノードを判断する。この場合、カラム
「AGE」のノードは0番目であると判断される。つぎ
に、CPU23は、SQL解析データとして図9に示す
ようにテーブル「ADDRESS」、カラム「AGE」、値「G0」
を記憶する。このような処理を図5に示す式テーブルの
全てのカラムについて処理を行なう。
【0060】なお、図5に示す式テーブルのカラム「NA
ME_ID」については、図8ステップST47において条
件式リストに「IN」が存在しないので、SQL解析デー
タとして記憶されない。これによって、図9に示すよう
にカラムリストに4つのカラムが記憶される。
ME_ID」については、図8ステップST47において条
件式リストに「IN」が存在しないので、SQL解析デー
タとして記憶されない。これによって、図9に示すよう
にカラムリストに4つのカラムが記憶される。
【0061】つぎに、CPU23は、図6ステップST
34において副問い合わせがあるか否かを判断する。こ
の場合、図5の構文木データにおいては、副問い合わせ
が存在するので、この副問い合わせについて図6ステッ
プST31からステップST33の処理を繰り返す。こ
れにより、図9に示すツリー構造データが作成される。
34において副問い合わせがあるか否かを判断する。こ
の場合、図5の構文木データにおいては、副問い合わせ
が存在するので、この副問い合わせについて図6ステッ
プST31からステップST33の処理を繰り返す。こ
れにより、図9に示すツリー構造データが作成される。
【0062】このように、副問い合せのノードを「1」
として、区別できるようにしている。当然、かかる副問
い合せの中にさらに副問い合せが存在する場合は、ノー
ド「2」となる。
として、区別できるようにしている。当然、かかる副問
い合せの中にさらに副問い合せが存在する場合は、ノー
ド「2」となる。
【0063】CPU23は、図3ステップST13にお
いて、全てのSQLについて処理が終了したか否か判断
する。この場合、つぎのSQL文が存在するので、図4
に示すSQL2についてステップST7以下の処理を繰
り返す。図4に示すSQL文2については、図11に示
すような構文木データが作成され、図12に示すような
ツリー構造データが作成される。
いて、全てのSQLについて処理が終了したか否か判断
する。この場合、つぎのSQL文が存在するので、図4
に示すSQL2についてステップST7以下の処理を繰
り返す。図4に示すSQL文2については、図11に示
すような構文木データが作成され、図12に示すような
ツリー構造データが作成される。
【0064】なお、本実施例においては、図3ステップ
ST8にて、SQL発行数が10以下の場合には、構文
木データの作成および解析処理を行わないようにしてい
る。したがって、有益なチューニング情報を高速に得る
ことができる。
ST8にて、SQL発行数が10以下の場合には、構文
木データの作成および解析処理を行わないようにしてい
る。したがって、有益なチューニング情報を高速に得る
ことができる。
【0065】CPU23は、図3ステップST13にお
いて全てのSQL文の処理を終了したと判断した場合に
は、ステップST16に進み、SQL/テーブルデータ
を作成して表示する。SQL/テーブルデータの作成
は、次のようにして行なわれる。図13に示すのが、S
QL/テーブルデータの一例である。これは、各SQL
文のツリー構造データから作成される。SQL文1につ
いては、図9に示すツリー構造において、テーブル「AD
DRESS」および副問い合わせにおけるテーブル「EMPLO
Y」が存在する。そして各々の値はS0およびS1であるの
で、図13に示すようにSQL文1におけるテーブル
「ADDRESS」については値「S0」、カラム「EMPLOY」に
ついては値「S1」が記憶される。
いて全てのSQL文の処理を終了したと判断した場合に
は、ステップST16に進み、SQL/テーブルデータ
を作成して表示する。SQL/テーブルデータの作成
は、次のようにして行なわれる。図13に示すのが、S
QL/テーブルデータの一例である。これは、各SQL
文のツリー構造データから作成される。SQL文1につ
いては、図9に示すツリー構造において、テーブル「AD
DRESS」および副問い合わせにおけるテーブル「EMPLO
Y」が存在する。そして各々の値はS0およびS1であるの
で、図13に示すようにSQL文1におけるテーブル
「ADDRESS」については値「S0」、カラム「EMPLOY」に
ついては値「S1」が記憶される。
【0066】また、CPU23は、図3ステップST1
で読み出した処理結果をメモリから読み出し、SQL発
行数60、SQL処理時間0.6秒、SQLトータル処
理時間36秒を合わせて作成する。また、処理結果の検
索レコード数を当該テーブルのレコード数で除算したヒ
ット率をあわせて表示する。この場合は、テーブル「ADD
RESS」のレコード数は、1000件であるので、ヒット
率=(400/1000)*100=40(%)とな
る。このような処理を各SQL文について繰り返すこと
によって図13に示すような、SQL/テーブルデータ
がCRT28(図2参照)に表示される。
で読み出した処理結果をメモリから読み出し、SQL発
行数60、SQL処理時間0.6秒、SQLトータル処
理時間36秒を合わせて作成する。また、処理結果の検
索レコード数を当該テーブルのレコード数で除算したヒ
ット率をあわせて表示する。この場合は、テーブル「ADD
RESS」のレコード数は、1000件であるので、ヒット
率=(400/1000)*100=40(%)とな
る。このような処理を各SQL文について繰り返すこと
によって図13に示すような、SQL/テーブルデータ
がCRT28(図2参照)に表示される。
【0067】なお、この場合、SQL6、7、9、11
〜15については、しきい値を越えていないので、既に
説明したように解析処理が行われないので、SQL/テ
ーブルデータには表れない。
〜15については、しきい値を越えていないので、既に
説明したように解析処理が行われないので、SQL/テ
ーブルデータには表れない。
【0068】このような、SQL/テーブルデータによ
り、どのテーブルが各SQL文で参照されているか、ま
た検索対象処理となっているかを知ることができ、さら
に、SQLトータル時間およびヒット率が表示されてい
るので、どのテーブルを中心にチューニングを行なえば
よいかを判断することができる。また、副問い合せ中で
参照されるテーブルか否か判断することができる。
り、どのテーブルが各SQL文で参照されているか、ま
た検索対象処理となっているかを知ることができ、さら
に、SQLトータル時間およびヒット率が表示されてい
るので、どのテーブルを中心にチューニングを行なえば
よいかを判断することができる。また、副問い合せ中で
参照されるテーブルか否か判断することができる。
【0069】操作者は、表示されたSQL/テーブルデ
ータを見て、チューニング情報として用いるのに並び替
えて表示させた方が好ましいと考えた場合は、マウス3
1より並び替え命令を与える。CPU23は、並び替え
命令が与えられたか否かを判断し(ステップST1
7)、並び替え命令が与えられた場合は、ステップST
18に進み、並び替え処理を行う。本実施例において
は、SQL発行数、SQL処理時間、SQL総処理時
間、ヒット率のいずれかまたはこれらの複合条件で並び
替え処理を可能とした。
ータを見て、チューニング情報として用いるのに並び替
えて表示させた方が好ましいと考えた場合は、マウス3
1より並び替え命令を与える。CPU23は、並び替え
命令が与えられたか否かを判断し(ステップST1
7)、並び替え命令が与えられた場合は、ステップST
18に進み、並び替え処理を行う。本実施例において
は、SQL発行数、SQL処理時間、SQL総処理時
間、ヒット率のいずれかまたはこれらの複合条件で並び
替え処理を可能とした。
【0070】図14に、図13に示すSQL/テーブル
データを、SQL発行数を第1順位とし、SQL処理時
間を第2順位として、並び替え処理を行った結果データ
を示す。このように、任意の項目について、並び替えを
行うことができるので、チューニング情報を分かりやす
く表示することができる。
データを、SQL発行数を第1順位とし、SQL処理時
間を第2順位として、並び替え処理を行った結果データ
を示す。このように、任意の項目について、並び替えを
行うことができるので、チューニング情報を分かりやす
く表示することができる。
【0071】操作者は、図14に示すSQL/テーブル
データについて、さらに詳細表示を要求する場合には、
詳細表示命令をマウス31(図2参照)から与える。こ
のような詳細表示命令が与えられると、CPU23は、
図3ステップST19にて詳細表示命令が与えられたと
判断して、SQL/カラムデータを作成して、CRT2
8に表示する。
データについて、さらに詳細表示を要求する場合には、
詳細表示命令をマウス31(図2参照)から与える。こ
のような詳細表示命令が与えられると、CPU23は、
図3ステップST19にて詳細表示命令が与えられたと
判断して、SQL/カラムデータを作成して、CRT2
8に表示する。
【0072】SQL/カラムデータについて図15を用
いて説明する。SQL/カラムデータは、図13Aに示
すSQL/テーブルデータと同様にして各SQL文のツ
リー構造データに基づいて作成され、各SQL文につい
てカラムとの関係データが表示される。さらに、カラム
にはインデックスが付与されているか否か、および各カ
ラムのテーブル名も併せて表示される。
いて説明する。SQL/カラムデータは、図13Aに示
すSQL/テーブルデータと同様にして各SQL文のツ
リー構造データに基づいて作成され、各SQL文につい
てカラムとの関係データが表示される。さらに、カラム
にはインデックスが付与されているか否か、および各カ
ラムのテーブル名も併せて表示される。
【0073】また、図13Aにおいて表示したSQL発
行数、SQL処理時間、SQL総処理時間およびヒット
率も併せて表示される。このようなSQLカラム情報に
よって各カラムが各SQL文で参照されている種類、例
えばselect文であるのか、insert文であるのか、delete
文であるのか、update文であるのかを判断することがで
きる。
行数、SQL処理時間、SQL総処理時間およびヒット
率も併せて表示される。このようなSQLカラム情報に
よって各カラムが各SQL文で参照されている種類、例
えばselect文であるのか、insert文であるのか、delete
文であるのか、update文であるのかを判断することがで
きる。
【0074】このようなSQL文の種類を参照すること
により、インデックスの張り替えを判断することが容易
となる。例えば、SQL1においては、カラム「LOCATI
ON」は値「S0」,「=0」であり、カラム「AGE」は値「S
0」,「G0」である。すなわち、カラム「AGE」には、グ
ループ関数の処理が行われていると判断できるので、イ
ンデックスを付与しても処理速度を向上できないことが
分かる。これに対して、カラム「LOCATION」には、比較
条件、特にその中でもインデックスを用いることによる
高速処理が期待できる「=」があるので、当該カラム
「LOCATION」にインデックスを付与すればよいと判断す
ることができる。一方、もしカラム「AGE」にインデッ
クスが付与されている場合、これを削除する方がよいと
判断できる。
により、インデックスの張り替えを判断することが容易
となる。例えば、SQL1においては、カラム「LOCATI
ON」は値「S0」,「=0」であり、カラム「AGE」は値「S
0」,「G0」である。すなわち、カラム「AGE」には、グ
ループ関数の処理が行われていると判断できるので、イ
ンデックスを付与しても処理速度を向上できないことが
分かる。これに対して、カラム「LOCATION」には、比較
条件、特にその中でもインデックスを用いることによる
高速処理が期待できる「=」があるので、当該カラム
「LOCATION」にインデックスを付与すればよいと判断す
ることができる。一方、もしカラム「AGE」にインデッ
クスが付与されている場合、これを削除する方がよいと
判断できる。
【0075】また、カラム「NAME_ID」についても比較
条件が存在することが分かるので、同様にインデックス
を付与した方がよいと判断することができる。なお、カ
ラム「NAME_ID」は、値「S1」,「C1」であるので、副問
い合わせであると判断することができる。
条件が存在することが分かるので、同様にインデックス
を付与した方がよいと判断することができる。なお、カ
ラム「NAME_ID」は、値「S1」,「C1」であるので、副問
い合わせであると判断することができる。
【0076】また、副問い合わせであるかをノードの番
号で表示することによって、SQLにおいて、どのよう
にチューニングしたらよいかをより容易に判断すること
ができる。
号で表示することによって、SQLにおいて、どのよう
にチューニングしたらよいかをより容易に判断すること
ができる。
【0077】このように各カラムにおける参照状態とし
て、条件式を表示することによって、インデックスの付
与、張り替えが容易に判断することができる。例えば、
各条件式において更新型のSQL文である場合(insert
文、delete文、update文)は、インデックスを張らない
方がよいと判断できる。また、比較式、特に等式(=)
が使用されている場合には、インデックスを張れば高速
処理が可能となると判断できる。また、条件式「join」
で使用されており、総処理時間が長い場合には、物理的
にテーブルを結合した方がよいと判断できる。
て、条件式を表示することによって、インデックスの付
与、張り替えが容易に判断することができる。例えば、
各条件式において更新型のSQL文である場合(insert
文、delete文、update文)は、インデックスを張らない
方がよいと判断できる。また、比較式、特に等式(=)
が使用されている場合には、インデックスを張れば高速
処理が可能となると判断できる。また、条件式「join」
で使用されており、総処理時間が長い場合には、物理的
にテーブルを結合した方がよいと判断できる。
【0078】また、グループ関数および条件式「order_
by」で使用されている場合には、各々関数処理を行なう
バッファ領域が必要となるので、総処理時間が長い場合
には、当該バッファ領域の大きさを大きくする方がよい
と判断することができる。
by」で使用されている場合には、各々関数処理を行なう
バッファ領域が必要となるので、総処理時間が長い場合
には、当該バッファ領域の大きさを大きくする方がよい
と判断することができる。
【0079】また、本実施例においては、さらに、SQ
Lの発行数、処理時間、総処理時間およびヒット率を表
示している。このような表示を行うことにより、的確な
チューニング情報を得ることができる。例えば、インデ
ックスを使用できない条件式でSQL文が構成されてお
り、あるSQL文の処理時間が長い場合、SQL文の表
記を見直すべきではないかという判断をすることもでき
る。
Lの発行数、処理時間、総処理時間およびヒット率を表
示している。このような表示を行うことにより、的確な
チューニング情報を得ることができる。例えば、インデ
ックスを使用できない条件式でSQL文が構成されてお
り、あるSQL文の処理時間が長い場合、SQL文の表
記を見直すべきではないかという判断をすることもでき
る。
【0080】操作者は、このSQL/カラムデータが表
示された後、データベースシステムにアクセスして所望
のチューニングを行なう。
示された後、データベースシステムにアクセスして所望
のチューニングを行なう。
【0081】操作者は、終了命令がキーボード31から
与えられると、処理を終了する。与えられない場合に
は、ステップST16に戻り、SQL/テーブルデータ
の表示画面に戻る。
与えられると、処理を終了する。与えられない場合に
は、ステップST16に戻り、SQL/テーブルデータ
の表示画面に戻る。
【0082】なお、図4に示すSQL文2については、
図15に示すように、カラム「LOCATION」には、条件式
「=」が2回参照されている。このように、同じ条件式
が存在する場合に、省略することなく全て表示すること
により、当該カラムにインデックスを付与することが望
ましいと的確に判断することができる。
図15に示すように、カラム「LOCATION」には、条件式
「=」が2回参照されている。このように、同じ条件式
が存在する場合に、省略することなく全て表示すること
により、当該カラムにインデックスを付与することが望
ましいと的確に判断することができる。
【0083】また、本実施例においては、SQL時間、
ヒット率等を合せて表示するようにしているが、かかる
データについては合せて表示しなくともよい。かかるデ
ータがなくても、チューニングすることができるからで
ある。例えば、テーブルの物理的結合をすべきか否か判
断をする場合などである。
ヒット率等を合せて表示するようにしているが、かかる
データについては合せて表示しなくともよい。かかるデ
ータがなくても、チューニングすることができるからで
ある。例えば、テーブルの物理的結合をすべきか否か判
断をする場合などである。
【0084】なお、ステップST18,ステップST2
4の並び替え処理にて、さらに、並び替え項目を入力で
きるようにしておき、任意の項目で並び替え可能とする
ようにしてもよい。
4の並び替え処理にて、さらに、並び替え項目を入力で
きるようにしておき、任意の項目で並び替え可能とする
ようにしてもよい。
【0085】なお、本実施例においては、前記各機能を
実現する為に、CPU23を用い、ソフトウェアによっ
てこれを実現している。しかし、その一部もしくは全て
を、ロジック回路等のハードウェアによって実現しても
よい。
実現する為に、CPU23を用い、ソフトウェアによっ
てこれを実現している。しかし、その一部もしくは全て
を、ロジック回路等のハードウェアによって実現しても
よい。
【0086】また、上記実施例においては、プログラム
をフレキシブルディスクに記憶させて、これをハードデ
ィスク26にインストールするようにしたが、他の記憶
媒体、例えば、ROM、ICカード、光ディスク、CD
−ROM等からインストールしてもよく、さらにこれら
記憶媒体から直接プログラムを読み出して実行するよう
にしてもよい。
をフレキシブルディスクに記憶させて、これをハードデ
ィスク26にインストールするようにしたが、他の記憶
媒体、例えば、ROM、ICカード、光ディスク、CD
−ROM等からインストールしてもよく、さらにこれら
記憶媒体から直接プログラムを読み出して実行するよう
にしてもよい。
【0087】なお、ファジィ検索を行うデータベースシ
ステムについても、同様に適用することができる。
ステムについても、同様に適用することができる。
【0088】また、本実施例においては、データベース
システムとは別の装置として説明したが、本発明にかか
る装置を組込んだデータベースシステムとすることもで
きる。
システムとは別の装置として説明したが、本発明にかか
る装置を組込んだデータベースシステムとすることもで
きる。
【0089】なお、本実施例においては、SQL文を解
析する際、データベース構造情報を用いることなく、処
理したが、DBMS34からテーブル名およびカラム名
を読み出して、テーブル名およびカラム名をチェックす
るようにしてもよい。
析する際、データベース構造情報を用いることなく、処
理したが、DBMS34からテーブル名およびカラム名
を読み出して、テーブル名およびカラム名をチェックす
るようにしてもよい。
【図1】本発明にかかるチューニング情報作成装置1の
機能ブロック図である。
機能ブロック図である。
【図2】図1に示すチューニング情報作成装置1をCP
Uで実現したハードウェア構成を示す図である。
Uで実現したハードウェア構成を示す図である。
【図3】チューニング情報作成装置1の処理フローチャ
ートである。
ートである。
【図4】トレースログから読み出したSQL文およびそ
の処理結果を示す図である。
の処理結果を示す図である。
【図5】SQL1を解析した構文木データを示す図であ
る。
る。
【図6】解析処理の詳細を示すフローチャートである。
【図7】解析処理におけるテーブルリスト作成処理の詳
細フローチャートである。
細フローチャートである。
【図8】カラムリスト作成処理のフローチャートであ
る。
る。
【図9】図5に示す構文木データをツリー構造データに
した解析結果を示す図である。
した解析結果を示す図である。
【図10】条件式リストおよびその省略記号を示す図で
ある。
ある。
【図11】図4に示すSQL2を構文木構造データを示
す。
す。
【図12】図11の構文木データを排斥したツリー構造
データを示す図である。
データを示す図である。
【図13】SQL/テーブルデータを示す図である。
【図14】並び替え処理後のSQL/テーブルデータを
示す図である。
示す図である。
【図15】SQL/カラムデータを示す図である。
2・・・・・チューニング情報作成手段 3・・・・・抽出手段 5・・・・・解析結果データ生成手段 7・・・・・解析結果データ記憶手段 9・・・・・表示制御手段
───────────────────────────────────────────────────── フロントページの続き (72)発明者 坂口 学 京都府京都市右京区花園土堂町10番地 オ ムロン株式会社内
Claims (10)
- 【請求項1】カラムおよびレコードで表された2次元テ
ーブルにデータを記憶するリレーショナルデータベース
システムにおけるシステムチューニング情報を作成する
チューニング情報作成装置であって、 前記リレーショナルデータベースシステムに与えられた
データ処理条件を解析して、当該データ処理条件におい
て参照されているテーブル名またはカラム名を抽出する
とともに、抽出したテーブル名またはカラム名につい
て、前記データ処理条件においてどのように参照されて
いるかを示す解析結果データをシステムチューニング情
報として生成すること、 を特徴とするチューニング情報作成装置。 - 【請求項2】請求項1のチューニング情報作成装置にお
いて、 前記リレーショナルデータベースシステムの処理履歴を
記憶する処理履歴記憶部から、処理結果を抽出し、この
処理結果を含む解析結果データをシステムチューニング
情報として生成すること、 を特徴とするチューニング情報作成装置。 - 【請求項3】請求項1または請求項2のチューニング情
報作成装置において、 抽出したカラムに付加されているインデックス情報を抽
出し、このインデックス情報を含む解析結果データをシ
ステムチューニング情報として生成すること、 を特徴とするチューニング情報作成装置。 - 【請求項4】請求項2または請求項3のチューニング情
報作成装置において、 抽出した処理結果が所定のしきい値を越えるか否かを判
断し、この処理結果が所定のしきい値を越えた場合の
み、当該与えられたデータ処理条件を解析すること、 を特徴とするチューニング情報作成装置。 - 【請求項5】カラムおよびレコードで表された2次元テ
ーブルにデータを記憶するリレーショナルデータベース
システムにおけるシステムチューニング情報を表示する
チューニング情報表示装置であって、 前記リレーショナルデータベースシステムに与えられた
データ処理条件を解析して、当該データ処理条件と当該
データ処理条件において参照されているテーブル名との
関係データ、または当該データ処理条件と当該データ処
理条件において参照されているカラム名との関係データ
をシステムチューニング情報として表示すること、 を特徴とするチューニング情報表示装置。 - 【請求項6】請求項5のチューニング情報表示装置にお
いて、 複数のデータ処理条件について、前記システムチューニ
ング情報を表示する際、参照されている処理対象テーブ
ルが同じデータ処理条件、または、参照されている処理
対象カラムが同じデータ処理条件について、異なるデー
タ処理条件とは区別容易に表示すること、 を特徴とするチューニング情報表示装置。 - 【請求項7】請求項5または請求項6のチューニング情
報作成装置において、 前記リレーショナルデータベースシステムの処理履歴を
記憶する処理履歴記憶部から、処理結果を抽出し、この
処理結果を含む解析結果データを合せて表示するととも
に、並び替え命令が与えられると複数のデータ処理条件
について、かかる処理結果の値に基づいて複数のシステ
ムチューニング情報の順序を並びかえて表示すること、 を特徴とするチューニング情報作成装置。 - 【請求項8】カラムおよびレコードで表された2次元テ
ーブルにデータを記憶するリレーショナルデータベース
システムにおけるシステムチューニング情報を作成する
チューニング情報作成方法であって、 前記リレーショナルデータベースシステムに与えられた
データ処理条件を解析して、当該データ処理条件におい
て参照されているテーブル名またはカラム名を抽出し、 この抽出したテーブル名またはカラム名について、前記
データ処理条件においてどのように参照されているかを
示す解析結果データをシステムチューニング情報として
生成すること、 を特徴とするチューニング情報作成方法。 - 【請求項9】カラムおよびレコードで表された2次元テ
ーブルにデータを記憶するリレーショナルデータベース
システムにおけるシステムチューニング情報を表示する
チューニング情報表示方法であって、 前記リレーショナルデータベースシステムに与えられた
データ処理条件を解析して、当該データ処理条件と当該
データ処理条件において参照されているテーブル名との
関係データ、または当該データ処理条件と当該データ処
理条件において参照されているカラム名との関係データ
をシステムチューニング情報として表示すること、 を特徴とするチューニング情報表示方法。 - 【請求項10】請求項1ないし請求項9のいずれかの装
置又は方法を、コンピュータを用いて実現する為のプロ
グラムを記憶したコンピュータ可読の記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7185276A JPH0934759A (ja) | 1995-07-21 | 1995-07-21 | チューニング情報作成装置およびチューニング情報作成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7185276A JPH0934759A (ja) | 1995-07-21 | 1995-07-21 | チューニング情報作成装置およびチューニング情報作成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0934759A true JPH0934759A (ja) | 1997-02-07 |
Family
ID=16168004
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP7185276A Pending JPH0934759A (ja) | 1995-07-21 | 1995-07-21 | チューニング情報作成装置およびチューニング情報作成方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0934759A (ja) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008204141A (ja) * | 2007-02-20 | 2008-09-04 | Nec Corp | インデックス構成提案システムおよび方法ならびにデータ解析装置およびプログラム |
EP2230611A2 (en) | 2009-03-16 | 2010-09-22 | Fujitsu Limited | Search device, search method, and search program |
JP2011008781A (ja) * | 2009-05-29 | 2011-01-13 | Toshiba Corp | Sql静的解析プログラム及びsql静的解析装置 |
JP2011107814A (ja) * | 2009-11-13 | 2011-06-02 | Hitachi Ltd | データベース管理方法、データベース管理装置及びデータベース管理プログラム |
US8019771B2 (en) | 2006-11-30 | 2011-09-13 | International Business Machines Corporation | Method for dynamically finding relations between database tables |
JP2012118609A (ja) * | 2010-11-29 | 2012-06-21 | Hitachi Systems Ltd | Sql検証システムとその方法およびプログラム |
WO2017183065A1 (ja) * | 2016-04-19 | 2017-10-26 | 株式会社シスバンク | リレーショナルデータベースのチューニング装置及び方法 |
JP2018506775A (ja) * | 2014-12-22 | 2018-03-08 | アマゾン テクノロジーズ インコーポレイテッド | トランザクションアクセスパターンに基づいた結合関係の識別 |
US10120905B2 (en) | 2014-12-22 | 2018-11-06 | Amazon Technologies, Inc. | Efficient determination of join paths via cardinality estimation |
-
1995
- 1995-07-21 JP JP7185276A patent/JPH0934759A/ja active Pending
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8019771B2 (en) | 2006-11-30 | 2011-09-13 | International Business Machines Corporation | Method for dynamically finding relations between database tables |
JP2008204141A (ja) * | 2007-02-20 | 2008-09-04 | Nec Corp | インデックス構成提案システムおよび方法ならびにデータ解析装置およびプログラム |
EP2230611A2 (en) | 2009-03-16 | 2010-09-22 | Fujitsu Limited | Search device, search method, and search program |
US8402052B2 (en) | 2009-03-16 | 2013-03-19 | Fujitsu Limited | Search device, search method, and computer-readable recording medium storing search program |
JP2011008781A (ja) * | 2009-05-29 | 2011-01-13 | Toshiba Corp | Sql静的解析プログラム及びsql静的解析装置 |
JP2011107814A (ja) * | 2009-11-13 | 2011-06-02 | Hitachi Ltd | データベース管理方法、データベース管理装置及びデータベース管理プログラム |
JP2012118609A (ja) * | 2010-11-29 | 2012-06-21 | Hitachi Systems Ltd | Sql検証システムとその方法およびプログラム |
US10120905B2 (en) | 2014-12-22 | 2018-11-06 | Amazon Technologies, Inc. | Efficient determination of join paths via cardinality estimation |
US10831759B2 (en) | 2014-12-22 | 2020-11-10 | Amazon Technologies, Inc. | Efficient determination of join paths via cardinality estimation |
JP2018506775A (ja) * | 2014-12-22 | 2018-03-08 | アマゾン テクノロジーズ インコーポレイテッド | トランザクションアクセスパターンに基づいた結合関係の識別 |
US10685042B2 (en) | 2014-12-22 | 2020-06-16 | Amazon Technologies, Inc. | Identifying join relationships based on transactional access patterns |
JP2017194778A (ja) * | 2016-04-19 | 2017-10-26 | 株式会社シスバンク | リレーショナルデータベースのチューニング装置及び方法 |
US10216773B2 (en) | 2016-04-19 | 2019-02-26 | Sysbank Co., Ltd. | Apparatus and method for tuning relational database |
CN108027763A (zh) * | 2016-04-19 | 2018-05-11 | 森斯班克株式会社 | 关系型数据库的调整装置和方法 |
WO2017183065A1 (ja) * | 2016-04-19 | 2017-10-26 | 株式会社シスバンク | リレーショナルデータベースのチューニング装置及び方法 |
CN108027763B (zh) * | 2016-04-19 | 2022-09-16 | 森斯班克株式会社 | 关系型数据库的调整装置和方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8886617B2 (en) | Query-based searching using a virtual table | |
US6931408B2 (en) | Method of storing, maintaining and distributing computer intelligible electronic data | |
Abadi et al. | Column-stores vs. row-stores: how different are they really? | |
JP4965088B2 (ja) | データ抽象化モデルにおける関係管理 | |
JP4159099B2 (ja) | 次元テーブル処理装置、次元階層抽出装置、次元テーブル処理方法、次元階層抽出方法及びプログラム | |
US6681218B1 (en) | System for managing RDBM fragmentations | |
JP2001075969A (ja) | 画像管理検索装置、画像管理検索方法及び記憶媒体 | |
US9477729B2 (en) | Domain based keyword search | |
US20040205050A1 (en) | Application of queries against incomplete schemas | |
JP2011510379A (ja) | 多次元データベースアーキテクチャ | |
US20040220908A1 (en) | Information retrieval system and method for optimizing queries having maximum or minimum function aggregation predicates | |
US20080077564A1 (en) | Document-search supporting apparatus and computer program product therefor | |
US7085760B2 (en) | Data query differential analysis | |
JP2014191593A (ja) | カラムストア型データベース管理システム | |
JPH0934759A (ja) | チューニング情報作成装置およびチューニング情報作成方法 | |
US20140067853A1 (en) | Data search method, information system, and recording medium storing data search program | |
US7574421B2 (en) | Explicit key paging | |
CN111831684A (zh) | 数据的查询方法、装置和计算机可读存储介质 | |
JP3163141B2 (ja) | リレーショナルデータベース処理装置および処理方法 | |
US7184996B2 (en) | Method for concatenating table-format data | |
JPH10269233A (ja) | 文書データベースの検索結果表示方法及び装置 | |
WO2005043409A1 (ja) | 表形式データの結合方法、結合装置およびプログラム | |
JPH08241337A (ja) | データベース装置 | |
JPH06348757A (ja) | 文書検索装置および方法 | |
JPH09153051A (ja) | 類似文書検索方法 |