JP2018180847A - 問合せ文検索装置、問合せ文検索方法及び問合せ文検索プログラム - Google Patents

問合せ文検索装置、問合せ文検索方法及び問合せ文検索プログラム Download PDF

Info

Publication number
JP2018180847A
JP2018180847A JP2017078215A JP2017078215A JP2018180847A JP 2018180847 A JP2018180847 A JP 2018180847A JP 2017078215 A JP2017078215 A JP 2017078215A JP 2017078215 A JP2017078215 A JP 2017078215A JP 2018180847 A JP2018180847 A JP 2018180847A
Authority
JP
Japan
Prior art keywords
search
query
sentence
execution plan
character string
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
Application number
JP2017078215A
Other languages
English (en)
Other versions
JP6737734B2 (ja
Inventor
泰之 渡邊
Yasuyuki Watanabe
泰之 渡邊
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.)
KDDI Corp
Original Assignee
KDDI Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by KDDI Corp filed Critical KDDI Corp
Priority to JP2017078215A priority Critical patent/JP6737734B2/ja
Publication of JP2018180847A publication Critical patent/JP2018180847A/ja
Application granted granted Critical
Publication of JP6737734B2 publication Critical patent/JP6737734B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

【課題】データベースシステムにおいて実行可能な問合せ文と類似する問合せ文を精度良く検索する。【解決手段】問合せ文検索装置1は、データベースシステム2において実行可能な問合せ文を示す検索文の入力を受け付ける入力受付部124と、データベースシステム2において実行された複数の問合せ文と、当該複数の問合せ文のそれぞれに対応する問合せ文の実行計画とを関連付けて記憶する記憶部11を参照し、検索文に対応する実行計画と少なくとも一部が一致する実行計画を特定する特定部125と、特定された実行計画に関連付けて記憶部11に記憶されている問合せ文を検索結果として出力する出力部126と、を備える。【選択図】図2

Description

本発明は、データベースシステムにおいて実行可能な問合せ文を検索する問合せ文検索装置、問合せ文検索方法及び問合せ文検索プログラムに関する。
従来、データベースシステムにおいて実行可能なSQL(Structured Query Language)等の問合せ文の履歴の中から、特定の問合せ文と問合せの内容が一致又は類似する問合せ文を検索することが行われている。特定の問合せ文に一致又は類似する問合せ文を検索する方法としては、問合せ文を文字列として扱い、文字列の類似度を測る方法がある。そして、文字列の類似度を測定する方法として、レーベンシュタイン距離を用いる方法が従来から提案されている(例えば、特許文献1参照)。レーベンシュタイン距離は、文字列を比較対象の文字列に変換する場合に要する編集の回数を示しており、0回であれば、文字列と、比較対象の文字列とが一致していることを示している。また、レーベンシュタイン距離の値が小さければ小さいほど、文字列と、比較対象の文字列との類似度が高いことを示している。
特開2015−76064号公報
しかしながら、データベースシステムにおいて実行可能な問合せ文であるSQLは、書式の自由度が高いことから、同じ内容の問合せ文であっても複数の表現方法がある。このため、文字列の類似度によって、特定の問合せ文と、問合せの内容が一致又は類似する問合せ文を正確に検索することができないという問題がある。
また、問合せ文では、データベースシステムにおける複数のテーブルの結合を指定する構文が含まれることがある。しかしながら、問合せ文の全体を1つの文字列として扱う場合には、問合せ文の構造を考慮した検索を行うことができない。このため、問合せ文を示す文字列の類似度を測ることによって検索を行う方法では、所定のテーブルの結合処理を含む問合せ文といった、問合せ文の一部に着目した検索を行うことができないという問題がある。
そこで、本発明はこれらの点に鑑みてなされたものであり、データベースシステムにおいて実行可能な問合せ文と類似する問合せ文を精度良く検索することができる問合せ文検索装置、問合せ文検索方法及び問合せ文検索プログラムを提供することを目的とする。
本発明の第1の態様に係る問合せ文検索装置は、データベースシステムにおいて実行可能な問合せ文を示す検索文の入力を受け付ける入力受付部と、前記データベースシステムにおいて実行された複数の問合せ文と、当該複数の問合せ文のそれぞれに対応する前記問合せ文の実行計画とを関連付けて記憶する記憶部を参照し、前記検索文に対応する実行計画と少なくとも一部が一致する実行計画を特定する特定部と、特定された実行計画に関連付けて前記記憶部に記憶されている問合せ文を検索結果として出力する出力部と、を備える。
前記問合せ文検索装置は、前記記憶部に記憶されている前記実行計画に基づいて、当該実行計画に対応する問合せ文の構造を抽出し、抽出された当該構造と、当該問合せ文において参照するテーブルとを示す検索用文字列を生成する文字列生成部と、前記検索用文字列と、当該検索用文字列に対応する問合せ文とを関連付けて前記記憶部に記憶させる記憶制御部をさらに備え、前記入力受付部は、前記検索文として前記検索用文字列を受け付け、前記特定部は、前記記憶部を参照し、受け付けた前記検索文と少なくとも一部が一致する前記検索用文字列を特定し、前記出力部は、特定された検索用文字列に関連付けて前記記憶部に記憶されている問合せ文を検索結果として出力してもよい。
前記文字列生成部は、前記記憶部に記憶されている前記実行計画に基づいて、当該実行計画に対応する問合せ文の木構造を抽出し、抽出された当該木構造を、ルートとなるノードから行きがけ順及び帰りがけ順に走査することにより木構造を示す前記検索用文字列を生成してもよい。
前記入力受付部は、前記検索文として前記問合せ文の入力を受け付け、前記問合せ文検索装置は、入力された前記問合せ文を前記検索用文字列に変換する変換部をさらに備え、前記特定部は、前記記憶部を参照し、変換された検索用文字列と少なくとも一部が一致する前記検索用文字列を特定してもよい。
本発明の第2の態様に係る問合せ文検索方法は、コンピュータが実行する、データベースシステムにおいて実行可能な問合せ文を示す検索文の入力を受け付けるステップと、前記データベースシステムにおいて実行された複数の問合せ文と、当該複数の問合せ文のそれぞれに対応する前記問合せ文の実行計画とを関連付けて記憶する記憶部を参照し、前記検索文に対応する実行計画と少なくとも一部が一致する実行計画を特定するステップと、特定された実行計画に関連付けて前記記憶部に記憶されている問合せ文を検索結果として出力するステップと、を備える。
本発明の第3の態様に係る問合せ文検索プログラムは、コンピュータを、データベースシステムにおいて実行可能な問合せ文を示す検索文の入力を受け付ける入力受付部、前記データベースシステムにおいて実行された複数の問合せ文と、当該複数の問合せ文のそれぞれに対応する前記問合せ文の実行計画とを関連付けて記憶する記憶部を参照し、前記検索文に対応する実行計画と少なくとも一部が一致する実行計画を特定する特定部、及び、特定された実行計画に関連付けて前記記憶部に記憶されている問合せ文を検索結果として出力する出力部、として機能させる。
本発明によれば、データベースシステムにおいて実行可能な問合せ文と類似する問合せ文を精度良く検索することができるという効果を奏する。
第1実施形態に係る問合せ文検索システムの概要を示す図である。 第1実施形態に係る問合せ文検索装置の構成を示す図である。 第1実施形態に係る問合せ履歴情報の一例を示す図である。 問合せ文の一例(その1)を示す図である。 問合せ文の一例(その2)を示す図である。 問合せ文の一例(その3)を示す図である。 問合せ文の一例(その4)を示す図である。 図4Aに示す問合せ文に対応する実行計画を示す図である。 図4Bに示す問合せ文に対応する実行計画を示す図である。 図4Cに示す問合せ文に対応する実行計画を示す図である。 図4Dに示す問合せ文に対応する実行計画を示す図である。 図5Aに示す実行計画に対応する実行計画ツリーを示す図である。 図5Bに示す実行計画に対応する実行計画ツリーを示す図である。 図5Cに示す実行計画に対応する実行計画ツリーを示す図である。 図5Dに示す実行計画に対応する実行計画ツリーを示す図である。 図6Aに示す実行計画ツリーに対応する検索用文字列を示す図である。 図6Bに示す実行計画ツリーに対応する検索用文字列を示す図である。 図6Cに示す実行計画ツリーに対応する検索用文字列を示す図である。 図6Dに示す実行計画ツリーに対応する検索用文字列を示す図である。 第1実施形態に係る検索用情報の一例を示す図である。 図4A〜図4Dに示す問合せ文の相互のレーベンシュタイン距離を示す図である。 第1実施形態に係る検索用情報の生成に係る問合せ文検索装置の処理の流れを示すフローチャートである。 第1実施形態に係る問合せ文の検索に係る問合せ文検索装置の処理の流れを示すフローチャートである。 第2実施形態に係る問合せ文検索装置の構成を示す図である。
<第1実施形態>
[問合せ文検索システムSの概要]
図1は、第1実施形態に係る問合せ文検索システムSの概要を示す図である。問合せ文検索システムSは、問合せ文検索装置1と、データベースシステム2と、端末3とを備え、検索文が示す処理に対応する問合せ文を検索するためのシステムである。
問合せ文検索装置1は、データベースシステム2及び端末3と、LANやインターネット等の通信ネットワークを介して通信可能に接続されている。問合せ文検索装置1は、データベースシステム2において実行された問合せ文と、当該問合せ文に対応する実行計画とをデータベースシステム2から取得する(図1の(1))。
問合せ文検索装置1は、データベースシステム2から取得した実行計画に基づいて、当該実行計画に対応する問合せ文の構造を解析する(図1の(2))。問合せ文検索装置1は、解析した構造に対応する検索用文字列を生成し、当該検索用文字列と、問合せ文とを関連付けて記憶部に記憶する(図1の(3))。
問合せ文検索装置1は、端末3から、検索文として、検索用文字列を取得する(図1の(4))。問合せ文検索装置1は、記憶部に記憶されている検索用文字列のうち、取得した検索用文字列と類似する検索用文字列を特定する(図1の(5))。問合せ文検索装置1は、特定した検索用文字列に対応する問合せ文を特定する(図1の(6))。問合せ文検索装置1は、特定した問合せ文を、検索文に対応する検索結果として端末3に出力する(図1の(7))。
このように、問合せ文検索装置1は、実行計画を解析することで生成した検索用文字列に基づいて、検索文に類似する検索用文字列を特定するので、検索文が示す問合せ文と構造が類似する問合せ文を精度良く検索することができる。
以下、問合せ文検索装置1の構成について説明する。
[問合せ文検索装置1の構成例]
図2は、第1実施形態に係る問合せ文検索装置1の構成を示す図である。
問合せ文検索装置1は、記憶部11と、制御部12とを備える。
記憶部11は、例えば、ROM(Read Only Memory)及びRAM(Random Access Memory)等である。記憶部11は、問合せ文検索装置1を機能させるための各種プログラムを記憶する。記憶部11は、問合せ文検索装置1の制御部12を、後述する取得部121、文字列生成部122、記憶制御部123、入力受付部124、特定部125、及び出力部126として機能させる問合せ文検索プログラムを記憶する。
制御部12は、例えばCPU(Central Processing Unit)である。制御部12は、記憶部11に記憶されている各種プログラムを実行することにより、問合せ文検索装置1に係る機能を制御する。制御部12は、問合せ文検索プログラムを実行することにより、取得部121、文字列生成部122、記憶制御部123、入力受付部124、特定部125、及び出力部126として機能する。
取得部121は、データベースシステム2から、問合せ文と、実行計画とを取得する。問合せ文は、データベースシステム2において実行されたSQL等の問合せ文である。実行計画は、データベースシステム2が、問合せ文に対応する処理を実行する際に生成する情報である。取得部121は、取得した問合せ文と、当該問合せ文に対応する実行計画とを関連付けて問合せ履歴情報として記憶部11に記憶させる。図3は、問合せ履歴情報の一例を示す図である。図3に示すように、問合せ文と、実行計画とが関連付けられて記憶されていることが確認できる。
図4A〜図4Dは、問合せ文の一例を示す図である。ここで、図4Bに示す問合せ文は、図4Aに示す問合せ文と同じデータを出力するための問合せ文であり、図4Aに示す問合せ文と異なる表現である問合せ文である。
図5A〜図5Dは、図4A〜図4Dに示す問合せ文に対応する実行計画を示す図である。図5において最初に示される文字列「Sort」と、「−>」の後に示される文字列とは、問合せ文によって実行される処理としてのノードを示している。また、文字列「Scan」を含むノード(以下、Scanノードともいう。)に続く文字列は、参照されるテーブルのテーブル名を示している。ここで、図4Aに示す問合せ文と異なる表現である問合せ文であるものの、図5Aに示す実行計画と、図5Bに示す実行計画とが同じ実行計画であることが確認できる。
文字列生成部122は、取得部121が取得した実行計画に基づいて検索用文字列を生成する。具体的には、文字列生成部122は、記憶部11に記憶されている実行計画に基づいて、実行計画に含まれる処理を示すノードと、実行計画に対応する処理において参照されるテーブルのテーブル名を抽出する。文字列生成部122は、取得部121が取得した実行計画を示すコードの記載順序と、抽出したノード及びテーブル名とに基づいて、実行計画に対応する問合せ文の木構造を抽出する。文字列生成部122は、木構造のグラフである実行計画ツリーを生成する。
図6A〜図6Dは、図5A〜図5Dに示す実行計画に対応する実行計画ツリーを示す図である。実行計画ツリーでは、各ノードにおける処理の略称を、括弧内に示している。例えば、ルートノードに対応する処理「Sort」の略称は「S」であり、処理「Group Aggregate」の略称は「GA」である。また、実行計画ツリーでは、Scanノードの下部にテーブル名を示している。ここで、図6Aに示す実行計画ツリーと、図6Bに示す実行計画ツリーとが同じ構造であることが確認できる。
文字列生成部122は、抽出された当該木構造を示す実行計画ツリーを、ルートとなるノードから行きがけ順及び帰りがけ順に走査することにより木構造を示す検索用文字列を生成する。すなわち、文字列生成部122は、実行計画ツリーを、ルートとなるノードから行きがけ順及び帰りがけ順に走査したときに検出されたノードの略称を、検出された順番で並べた文字列を検索用文字列として生成する。
ここで、文字列生成部122は、処理が重複するノードには通し番号を付与する。例えば、図6Aに示されるノードN1と、ノードN2とは、いずれも「Sort(S)」である。そこで、文字列生成部122は、ノードN1の略称を「S1」とし、ノードN2の略称を「S2」とする。また、文字列生成部122は、Scanノードに対応する略称に、当該Scanノードにおいて参照されるテーブルのテーブル名称を関連付ける。
図7A〜図7Dは、図6A〜図6Dに示す実行計画ツリーに対応する検索用文字列を示す図である。図7に示すように、検索用文字列では、ノードが検出された順番に、当該ノードの略称が羅列されていることが確認できる。また、図7Aに示す検索用文字列と、図7Bに示す検索用文字列とが同じ内容であることが確認できる。
文字列生成部122は、記憶部11に記憶されている問合せ履歴情報に含まれる全ての問合せ文について検索用文字列を生成する。
記憶制御部123は、文字列生成部122が生成した検索用文字列と、当該検索用文字列に対応する問合せ文とを関連付けて検索用情報として記憶部11に記憶させる。図8は、第1実施形態に係る検索用情報の一例を示す図である。図8に示すように、問合せ文と、検索用変換文字列とが関連付けられて記憶されていることが確認できる。
入力受付部124は、データベースシステム2において実行可能な問合せ文を示す検索文の入力を受け付ける。本実施形態において、入力受付部124は、端末3から、検索文として、検索用文字列を受け付ける。
特定部125は、データベースシステム2において実行された複数の問合せ文と、当該複数の問合せ文のそれぞれに対応する問合せ文の実行計画とを関連付けて記憶する記憶部11を参照し、入力受付部124が受け付けた検索文に対応する実行計画と少なくとも一部が一致する実行計画を特定する。
本実施形態において、特定部125は、記憶部11に記憶されている検索用情報を構成する検索用文字列を参照し、入力受付部124が受け付けた検索文と少なくとも一部が一致する検索用文字列を特定する。具体的には、特定部125は、入力受付部124が受け付けた検索文と少なくとも一部が一致するとともに、入力受付部124が受け付けた検索文に含まれるテーブルと同じテーブルのみを含んでいる検索用文字列を特定する。ここで、特定部125は、検索用文字列の比較を行う場合には、各略称に付されている通し番号を除去した状態で、検索用文字列の比較を行うものとする。
例えば、入力受付部124が、図4Aに示す問合せ文に対応する検索用文字列、すなわち、図7Aに示す検索用文字列を検索文として受け付けた場合、特定部125は、当該検索用文字列と一致する検索用文字列として、図7Aに示す検索用文字列と、図7Bに示す検索用文字列とを特定する。したがって、特定部125は、問合せ文としての表現が異なっていても実行計画が同一であれば、同じ問合せ文とみなして検索することができる。
別の例として、図4Cに示す問合せ文に対応する検索用文字列、すなわち、図7Cに示す検索用文字列の一部を検索文として利用することを考える。regionテーブルとnationテーブルとを結合する処理、及び、当該結合の結果とcustomerテーブルとの結合を行う処理に注目した場合、図6Cに示す実行計画ツリーにおいて、ルートノードから2番目のノード「Nested Loop」以下の部分木が該当する。検索文は、以下のように表現される。
NL BS BS HJ H SS1 SS1 H SS2 SS2 HJ NL
BS→customer,SS1→region,SS2→nation
特定部125は、上記の検索文と少なくとも一部が一致する検索用文字列として、図7Cに示す検索用文字列と、図7Dに示す検索用文字列を特定する。これは、問合せ文全体が一致するわけではないが、実行計画ツリーで問合せ文を表した場合に一部の構造を共有する類似した問合せ文を検索可能であることを示している。
なお、従来技術である文字列の類似度を測る手法と比較するため、図4Aに示す問合せ文と、図4B〜図4Dに示す問合せ文とのレーベンシュタイン距離を示す。図9は、図4A〜図4Dに示す問合せ文の相互のレーベンシュタイン距離を示す図である。
レーベンシュタイン距離は、値が小さいほど文字列の類似度が高いことを表している。同じ問合せ文の場合に、レーベンシュタイン距離は0となる。図9では、図4Aに示す問合せ文と、図4Cに示す問合せ文とのレーベンシュタイン距離が小さく、これらの問合せ文の類似度が高いとされている。しかしながら、図4Aに示す問合せ文と、図4Bに示す問合せ文とは、同じ処理内容を示しているため、実際には、図4Aに示す問合せ文と、図4Bに示す問合せ文とが類似している。
また、図4Cに示す問合せ文と、図4Dに示す問合せ文のレーベンシュタイン距離は、図4Bに示す問合せ文と、図4Cに示す問合せ文とのレーベンシュタイン距離及び図4Bに示す問合せ文と、図4Dに示す問合せ文とのレーベンシュタイン距離に比べて大きく、類似度が低いとされている。しかしながら、図4Cに示す問合せ文と、図4Dに示す問合せ文とは、共通の処理を含むため、問合せ文の全体では一致しないものの、類似度が高いといえる。したがって、レーベンシュタイン距離による類似度の検索結果の精度が、本実施形態に係る問合せ文検索装置1における検索結果の精度よりも低いことが確認できる。
出力部126は、特定された実行計画に関連付けて記憶部11に記憶されている問合せ文を検索結果として出力する。本実施形態において、出力部126は、記憶部11に記憶されている検索用情報において、特定部125が特定した検索用文字列に関連付けられている問合せ文を検索結果として端末3に出力する。
[検索用情報の生成に係る処理の流れ]
続いて、問合せ文検索装置1における処理の流れについて説明する。まず、検索用情報の生成に係る問合せ文検索装置1の処理の流れについて説明する。図10は、第1実施形態に係る検索用情報の生成に係る問合せ文検索装置1の処理の流れを示すフローチャートである。
まず、取得部121は、データベースシステム2から、問合せ文と、実行計画とを取得し(S10)、問合せ文と、実行計画とを記憶部11に記憶させる。
続いて、文字列生成部122は、記憶部11に記憶されている実行計画に基づいて、実行計画に含まれる処理を示すノードと、実行計画に対応する処理において参照されるテーブルのテーブル名を抽出する(S20)。
続いて、文字列生成部122は、抽出したノード及びテーブル名とに基づいて実行計画ツリーを生成する(S30)。
続いて、文字列生成部122は、生成した実行計画ツリーに基づいて、検索用文字列を生成し(S40)、当該検索用文字列と、当該検索用文字列に対応する問合せ文とを関連付けて検索用情報として記憶させる(S50)。
文字列生成部122は、記憶部11に記憶されている全ての問合せ文で検索用文字列を生成したか否かを判定する(S60)。文字列生成部122は、全ての問合せ文で検索用文字列を生成したと判定すると、本フローチャートに係る処理を終了し、全ての問合せ文で検索用文字列を生成していないと判定すると、S20に処理を移す。
[問合せ文の検索に係る処理の流れ]
続いて、問合せ文の検索に係る問合せ文検索装置1の処理の流れについて説明する。図11は、第1実施形態に係る問合せ文の検索に係る問合せ文検索装置1の処理の流れを示すフローチャートである。
まず、入力受付部124は検索文として、検索用文字列を受け付ける(S110)。
続いて、特定部125は、記憶部11に記憶されている検索用情報を構成する検索用文字列を参照し、入力受付部124が受け付けた検索文と少なくとも一部が一致する検索用文字列を特定する(S120)。
続いて、出力部126は、記憶部11に記憶されている検索用情報において、特定部125が特定した検索用文字列に関連付けられている問合せ文を特定する(S130)。そして、出力部126は、特定した問合せ文を端末3に検索結果として出力する(S140)。
[第1実施形態における効果]
以上の通り、第1実施形態に係る問合せ文検索装置1は、データベースシステム2において実行可能な問合せ文を示す検索文の入力を受け付け、データベースシステム2において実行された複数の問合せ文と、当該複数の問合せ文のそれぞれに対応する問合せ文の実行計画とを関連付けて記憶する記憶部11を参照し、当該検索文に対応する実行計画と少なくとも一部が一致する実行計画を特定し、特定された実行計画に関連付けて記憶部11に記憶されている問合せ文を検索結果として出力する。
このようにすることで、問合せ文検索装置1は、問合せ文の表現形式が異なる同じ処理内容を示す問合せ文を、実行計画に基づいて同じ処理内容を示す問合せ文として扱うことができる。これにより、問合せ文検索装置1は、検索文が示す問合せ文と構造が類似する問合せ文を精度良く検索することができる。
<第2実施形態>
[検索文として問合せ文の入力を受け付ける。]
続いて、第2実施形態について説明する。第1実施形態では、検索文として検索用文字列の入力を受け付けた。これに対し、第2実施形態に係る問合せ文検索装置1は、検索文として問合せ文の入力を受け付ける点で第1実施形態に係る問合せ文検索装置1と異なる。以下に、第2実施形態に係る問合せ文検索装置1について説明する。なお、第1実施形態と同じ部分については適宜説明を省略する。
図12は、第2実施形態に係る問合せ文検索装置1の構成を示す図である。図12に示すように、第2実施形態に係る問合せ文検索装置1は、変換部127をさらに備える。
第2実施形態において、入力受付部124は、端末3から、検索文として問合せ文の入力を受け付ける。
変換部127は、入力された問合せ文を検索用文字列に変換する。例えば、変換部127は、入力された問合せ文をデータベースシステム2に送信し、当該問合せ文の実行計画の取得を要求する。データベースシステム2は、問合せ文が入力されると、当該問合せ文の実行計画を生成し、当該実行計画を問合せ文検索装置1に送信する。
変換部127は、データベースシステム2から実行計画を受信すると、当該実行計画に基づいて、実行計画に含まれる処理を示すノードと、実行計画に対応する処理において参照されるテーブルのテーブル名を抽出する。変換部127は、受信した実行計画を示すコードの記載順序と、抽出したノード及びテーブル名とに基づいて、実行計画に対応する問合せ文の実行計画ツリーを生成する。変換部127は、実行計画ツリーに基づいて検索用文字列を生成することにより、入力された問合せ文を検索用文字列に変換する。
特定部125は、記憶部11に記憶されている検索用情報を構成する検索用文字列を参照し、変換部127によって変換された検索用文字列と少なくとも一部が一致する検索用文字列を特定する。
出力部126は、記憶部11に記憶されている検索用情報において、特定部125が特定した検索用文字列に関連付けられている問合せ文を検索結果として端末3に出力する。
[第2実施形態における効果]
以上の通り、第2実施形態に係る問合せ文検索装置1は、検索文として問合せ文の入力を受け付け、入力された問合せ文を検索用文字列に変換し、記憶部11に記憶されている検索用情報を参照し、変換された検索用文字列と少なくとも一部が一致する検索用文字列を特定する。
このようにすることで、端末3のユーザは、問合せ文に対応する検索用文字列を生成できなくても、問合せ文検索装置1に問合せ文を入力することにより、当該問合せ文と処理内容が類似する問合せ文を検索することができる。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更又は改良を加えることが可能であることが当業者に明らかである。例えば、上述の複数の実施形態を組み合わせてもよい。
また、上述の実施形態において、問合せ文検索装置1は、端末3から受け付けた検索用文字列と、検索用情報に含まれる検索用文字列とを比較することによって、端末3から受け付けた検索用文字列に類似する検索用文字列を特定したが、これに限らない。例えば、問合せ文検索装置1は、記憶部11に、問合せ文と、実行計画とを関連付けて記憶させておき、端末3から、実行計画の少なくとも一部を示す文字列を受け付けてもよい。そして、問合せ文検索装置1は、受け付けた文字列と少なくとも一部が一致する実行計画を特定し、特定した実行計画に対応する問合せ文を検索結果として出力してもよい。
この場合において、問合せ文検索装置1は、問合せ文を受け付け、当該問合せ文を実行計画に変換してもよい。そして、問合せ文検索装置1は、変換された実行計画と少なくとも一部が一致する実行計画を特定し、特定した実行計画に対応する問合せ文を検索結果として出力してもよい。
また、特に、装置の分散・統合の具体的な実施形態は以上に図示するものに限られず、その全部又は一部について、種々の付加等に応じて、又は、機能負荷に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。
1・・・問合せ文検索装置、11・・・記憶部、12・・・制御部、121・・・取得部、122・・・文字列生成部、123・・・記憶制御部、124・・・入力受付部、125・・・特定部、126・・・出力部、127・・・変換部、2・・・データベースシステム、3・・・端末、S・・・問合せ文検索システム

Claims (6)

  1. データベースシステムにおいて実行可能な問合せ文を示す検索文の入力を受け付ける入力受付部と、
    前記データベースシステムにおいて実行された複数の問合せ文と、当該複数の問合せ文のそれぞれに対応する前記問合せ文の実行計画とを関連付けて記憶する記憶部を参照し、前記検索文に対応する実行計画と少なくとも一部が一致する実行計画を特定する特定部と、
    特定された実行計画に関連付けて前記記憶部に記憶されている問合せ文を検索結果として出力する出力部と、
    を備える問合せ文検索装置。
  2. 前記記憶部に記憶されている前記実行計画に基づいて、当該実行計画に対応する問合せ文の構造を抽出し、抽出された当該構造と、当該問合せ文において参照するテーブルとを示す検索用文字列を生成する文字列生成部と、
    前記検索用文字列と、当該検索用文字列に対応する問合せ文とを関連付けて前記記憶部に記憶させる記憶制御部をさらに備え、
    前記入力受付部は、前記検索文として前記検索用文字列を受け付け、
    前記特定部は、前記記憶部を参照し、受け付けた前記検索文と少なくとも一部が一致する前記検索用文字列を特定し、
    前記出力部は、特定された検索用文字列に関連付けて前記記憶部に記憶されている問合せ文を検索結果として出力する、
    請求項1に記載の問合せ文検索装置。
  3. 前記文字列生成部は、前記記憶部に記憶されている前記実行計画に基づいて、当該実行計画に対応する問合せ文の木構造を抽出し、抽出された当該木構造を、ルートとなるノードから行きがけ順及び帰りがけ順に走査することにより木構造を示す前記検索用文字列を生成する、
    請求項2に記載の問合せ文検索装置。
  4. 前記入力受付部は、前記検索文として前記問合せ文の入力を受け付け、
    入力された前記問合せ文を前記検索用文字列に変換する変換部をさらに備え、
    前記特定部は、前記記憶部を参照し、変換された検索用文字列と少なくとも一部が一致する前記検索用文字列を特定する、
    請求項2又は3に記載の問合せ文検索装置。
  5. コンピュータが実行する、
    データベースシステムにおいて実行可能な問合せ文を示す検索文の入力を受け付けるステップと、
    前記データベースシステムにおいて実行された複数の問合せ文と、当該複数の問合せ文のそれぞれに対応する前記問合せ文の実行計画とを関連付けて記憶する記憶部を参照し、前記検索文に対応する実行計画と少なくとも一部が一致する実行計画を特定するステップと、
    特定された実行計画に関連付けて前記記憶部に記憶されている問合せ文を検索結果として出力するステップと、
    を備える問合せ文検索方法。
  6. コンピュータを、
    データベースシステムにおいて実行可能な問合せ文を示す検索文の入力を受け付ける入力受付部、
    前記データベースシステムにおいて実行された複数の問合せ文と、当該複数の問合せ文のそれぞれに対応する前記問合せ文の実行計画とを関連付けて記憶する記憶部を参照し、前記検索文に対応する実行計画と少なくとも一部が一致する実行計画を特定する特定部、及び、
    特定された実行計画に関連付けて前記記憶部に記憶されている問合せ文を検索結果として出力する出力部、
    として機能させる問合せ文検索プログラム。
JP2017078215A 2017-04-11 2017-04-11 問合せ文検索装置、問合せ文検索方法及び問合せ文検索プログラム Expired - Fee Related JP6737734B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017078215A JP6737734B2 (ja) 2017-04-11 2017-04-11 問合せ文検索装置、問合せ文検索方法及び問合せ文検索プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017078215A JP6737734B2 (ja) 2017-04-11 2017-04-11 問合せ文検索装置、問合せ文検索方法及び問合せ文検索プログラム

Publications (2)

Publication Number Publication Date
JP2018180847A true JP2018180847A (ja) 2018-11-15
JP6737734B2 JP6737734B2 (ja) 2020-08-12

Family

ID=64276690

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017078215A Expired - Fee Related JP6737734B2 (ja) 2017-04-11 2017-04-11 問合せ文検索装置、問合せ文検索方法及び問合せ文検索プログラム

Country Status (1)

Country Link
JP (1) JP6737734B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109582828A (zh) * 2018-11-30 2019-04-05 阳煤忻州通用机械有限责任公司 基于vba的锻件毛坯尺寸、公差及重量的自动查询系统
JP2020013448A (ja) * 2018-07-20 2020-01-23 Kddi株式会社 問合せ文出力装置及び問合せ文出力方法
CN111460241A (zh) * 2020-04-26 2020-07-28 甬矽电子(宁波)股份有限公司 一种数据查询方法、装置、电子设备及存储介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020013448A (ja) * 2018-07-20 2020-01-23 Kddi株式会社 問合せ文出力装置及び問合せ文出力方法
CN109582828A (zh) * 2018-11-30 2019-04-05 阳煤忻州通用机械有限责任公司 基于vba的锻件毛坯尺寸、公差及重量的自动查询系统
CN111460241A (zh) * 2020-04-26 2020-07-28 甬矽电子(宁波)股份有限公司 一种数据查询方法、装置、电子设备及存储介质
CN111460241B (zh) * 2020-04-26 2024-01-23 甬矽电子(宁波)股份有限公司 一种数据查询方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
JP6737734B2 (ja) 2020-08-12

Similar Documents

Publication Publication Date Title
TWI638274B (zh) 一種語義匹配方法及智能設備
US9147007B2 (en) Query expression conversion apparatus, query expression conversion method, and computer program product
US8239387B2 (en) Structural clustering and template identification for electronic documents
US9448772B2 (en) Generating program fragments using keywords and context information
CN102722542B (zh) 一种资源描述框架图模式匹配方法
Papadakis et al. Stavies: A system for information extraction from unknown web data sources through automatic web wrapper generation using clustering techniques
KR20160124079A (ko) 인-메모리 데이터베이스 탐색을 위한 시스템 및 방법
US9146985B2 (en) Techniques for evaluating patent impacts
JP6733809B2 (ja) 情報処理システム、情報処理装置、情報処理方法および情報処理プログラム
JP6737734B2 (ja) 問合せ文検索装置、問合せ文検索方法及び問合せ文検索プログラム
KR20160007040A (ko) 단문/복문 구조의 자연어 질의에 대한 검색 및 정보 제공 방법 및 시스템
JP5800441B2 (ja) 文書の圧縮、解凍及び照会のための方法及び装置
CN101571860A (zh) 动态网页生成方法和装置、提取结构化数据的方法和装置
JP2022073981A (ja) ソースコード取得
JP2002099561A (ja) データ変換方法およびデータ変換システム並びに記憶媒体
CN106776744A (zh) 一种基于互联网信息的软件开发方法及系统
JP7193000B2 (ja) 類似文書検索方法、類似文書検索プログラム、類似文書検索装置、索引情報作成方法、索引情報作成プログラムおよび索引情報作成装置
CN110119404B (zh) 一种基于自然语言理解的智能取数系统及其方法
JP2011076364A (ja) 検索結果調整装置及び検索結果調整方法
JP5634374B2 (ja) 仕様作成支援装置、及び、プログラム
CN110309214B (zh) 一种指令执行方法及其设备、存储介质、服务器
KR20230079729A (ko) 자연어 질의의 sql 변환 방법 및 장치
CN103425646A (zh) 一种web服务发现方法及其装置
JP2008021270A (ja) データ変換装置および方法、データベース管理装置および方法、ならびにデータベース検索システムおよび方法
JP2011028379A (ja) データ構造変換プログラムおよびデータ構造変換装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190605

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200619

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200707

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200716

R150 Certificate of patent or registration of utility model

Ref document number: 6737734

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees