JP6628455B2 - データ照会方法および装置ならびにデータベースシステム - Google Patents

データ照会方法および装置ならびにデータベースシステム Download PDF

Info

Publication number
JP6628455B2
JP6628455B2 JP2018527925A JP2018527925A JP6628455B2 JP 6628455 B2 JP6628455 B2 JP 6628455B2 JP 2018527925 A JP2018527925 A JP 2018527925A JP 2018527925 A JP2018527925 A JP 2018527925A JP 6628455 B2 JP6628455 B2 JP 6628455B2
Authority
JP
Japan
Prior art keywords
join
predicate
query plan
original
level
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.)
Active
Application number
JP2018527925A
Other languages
English (en)
Other versions
JP2019504390A (ja
Inventor
国平 王
国平 王
俊▲華▼ 朱
俊▲華▼ 朱
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of JP2019504390A publication Critical patent/JP2019504390A/ja
Application granted granted Critical
Publication of JP6628455B2 publication Critical patent/JP6628455B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24542Plan optimisation
    • G06F16/24544Join order optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24542Plan optimisation
    • G06F16/24545Selectivity estimation or determination

Description

開示は、情報技術の分野に関し、より具体的には、データ照会方法および装置ならびにデータベースシステムに関する。
構造化照会言語(Structured Query Language、SQL)は、リレーショナルデータベース管理システムの標準言語である。構造化照会言語は、高度な非手続き型の記述言語である。すなわち、構造化照会言語は、ユーザが上位層のデータ構造上で必要なデータを取得することを可能にするが、構造化照会言語は、ユーザがデータを取得するための方法、すなわち一般的には照会プランを指定することを必要としない。照会プランはツリーで表され得る。ツリーのリーフノードは入力テーブルを示し、中間ノードは演算を示す。SQL照会は、通常、多くの等コスト照会プランを有し、異なる照会プランの実行時間は異なる。したがって、データベースシステムには、最適な(すなわち、実行時間が最短である)照会プランを選択するための照会オプティマイザコンポーネントが存在する。
開示は、データ照会性能を向上させるために、データ照会方法および装置ならびにデータベースシステムを提供する。
開示は、データ照会性能を向上させるために、データ照会方法および装置ならびにデータベースシステムを提供する。
第1の態様によれば、本開示の一実施形態は、データ照会方法であって、方法がデータベースシステムによって実行され、データベースシステムがコンピュータデバイス上で動作し、本方法が、
データ照会要求を受信するステップと、
データ照会要求に従って元の照会プランを生成するステップと、
元の照会プランの結合述語を再構成するステップと、
元の照会プランの再構成された結合述語の基本情報を決定するステップと、
結合演算規則に基づいて、元の照会プランの再構成された結合述語の制約条件を決定するステップと、
元の照会プランの再構成された結合述語の基本情報および元の照会プランの再構成された結合述語の制約条件に従って元の照会プランの等コスト照会プランを決定するステップと、
元の照会プランの等コスト照会プランに従って照会を実行するステップと
を含む、データ照会方法を提供する。
開示の実施形態では、述語の基本情報と結合演算規則に基づいて取得される制約条件とに従って、元の照会プランの等コスト照会プランが決定され、元の照会プランの相対的に多量の等コスト照会プランが取得され得るため、データ照会のパフォーマンスを向上させることができる。
一部の実施態様では、元の照会プランの再構成された結合述語の基本情報および元の照会プランの再構成された結合述語の制約条件に従って元の照会プランの等コスト照会プランを決定するステップが、
元の照会プランの再構成された結合述語の基本情報および元の照会プランの再構成された結合述語の制約条件に従って元の照会プランの等コスト照会プランセットを決定するステップ
を含み、
元の照会プランの等コスト照会プランに従って照会を実行するステップが、
照会を実行するために等コスト照会プランセットから照会プランを選択するステップ
を含む。
一部の実施態様では、本方法は、
元の照会プランに従って候補照会プランセットを取得するステップ
をさらに含み、
元の照会プランの候補照会プランは、ここで可能な限り多く取得されるべきであり、好ましくは、照会プラン列挙アルゴリズムを、元の照会プランのすべての候補照会プランを列挙するために使用することができ、典型的な列挙アルゴリズム、例えば、IBM System Rで使用される動的プログラミングアルゴリズムが使用されてもよく、
元の照会プランの再構成された結合述語の基本情報および元の照会プランの再構成された結合述語の制約条件に従って元の照会プランの等コスト照会プランセットを決定するステップが、
元の照会プランの再構成された結合述語の基本情報および元の照会プランの再構成された結合述語の制約条件に従って候補照会プランセットから等コスト照会プランセットを決定するステップ
を含む。
開示の実施形態では、述語の基本情報と結合演算規則に基づいて取得される制約条件とに従って、候補照会プランセットから元の照会プランの等コスト照会プランが決定され、元の照会プランのすべての等コスト照会プランが取得され得るため、データ照会のパフォーマンスをさらに向上させることができる。
一部の実施態様では、元の照会プランの結合述語を再構成するステップが、
元の照会プランの内部結合演算のすべての結合述語を連言標準形に変換し、同じ入力テーブルを有する結合述語を組み合わせるステップと、
元の照会プランの非内部結合演算のすべての結合述語を1つの結合述語に組み合わせるステップと
を含む。
一部の実施態様では、結合述語の基本情報は、結合述語の入力テーブルと、結合述語が位置する結合演算の左サブツリーに含まれる結合述語の入力テーブルと、結合述語が位置する結合演算の右サブツリーに含まれる結合述語の入力テーブルと、結合述語が位置する結合演算の結合タイプとを含む。
一部の実施態様では、結合演算規則は、演算レベル規則および述語レベル規則を含み、演算レベル規則は、演算レベル交換規則:e1 oa p12 e2=e2 oa p12 e1、演算レベル組み合わせ規則:(e1 oa p12 e2)ob p23 e3=e1 oa p12(e2 ob p23 e3)、演算レベル左置換規則:(e1 oa p12 e2)ob p13 e3=(e1 ob p13 e3)oa p12 e2、および演算レベル右置換規則:e1 oa p13(e2 ob p23 e3)=e2 ob p23(e1 oa p13 e3)を含み、述語レベル規則は、述語レベル組み合わせ規則:(e1 oa p12 e2)ob p∧p23 e3=e1 oa p12∧p(e2 ob p23 e3)、述語レベル左置換規則:(e1 oa p12 e2)ob p13∧p e3=(e1 ob p13 e3)oa p12∧p e2、および述語レベル右置換規則:e1 oa p∧p13(e2 ob p23 e3)=e2 ob p∧p23(e1 oa p13 e3)を含み、eiは照会式であり、oaおよびobは結合演算であり、pijはeiとejとの結合述語である。
一部の実施態様では、結合演算規則に基づいて、元の照会プランの再構成された結合述語の制約条件を決定するステップが、
元の照会プランの結合演算ノードoBごとに、oBをルートノードとして使用するサブツリー内の各結合演算ノードoAをトラバースするステップ、および
oAが、oBをルートノードとして使用するサブツリーの左サブツリー内にあるときに、oAおよびoBが演算レベル組み合わせ規則および述語レベル組み合わせ規則を満たさない場合、第1の制約条件をoBの再構成された各結合述語に追加し、oAおよびoBが演算レベル左置換規則および述語レベル左置換規則を満たさない場合、第2の制約条件をoBの再構成された各結合述語に追加するステップ、または
oAが、oBをルートノードとして使用するサブツリーの右サブツリー内にあるときに、oAおよびoBが演算レベル組み合わせ規則および述語レベル組み合わせ規則を満たさない場合、第2の制約条件をoBの再構成された各結合述語に追加し、oAおよびoBが演算レベル右置換規則および述語レベル右置換規則を満たさない場合、第1の制約条件をoBの再構成された各結合述語に追加するステップ
を含み、
第1の制約条件が、T(e2)−>T(e1)∩T(pa1∧pa2∧...∧pan)であり、第2の制約条件が、T(e1)−>T(e2)∩T(pa1∧pa2∧...∧pan)であり、T(e1)は、oAをルートノードとして使用するサブツリーの左サブツリーe1に含まれる元の入力テーブルを示し、T(e2)は、oAをルートノードとして使用するサブツリーの右サブツリーe2に含まれる元の入力テーブルを示し、T(pa1∧pa2∧...∧pan)は、oAの再構成された結合述語pa1∧pa2∧...∧panに含まれる元の入力テーブルを示し、T1−>T2は、T1−>T2によって制約される結合述語がルートノードとして位置する結合演算を使用する第1のサブツリーがT1の入力テーブルを含む場合に、第1のサブツリーがT2のすべての入力テーブルを含むことを示す。
一部の実施態様では、元の照会プランの再構成された結合述語の基本情報および元の照会プランの再構成された結合述語の制約条件に従って元の照会プランの等コスト照会プランを決定するステップが、
第1の候補照会プランP’が以下の条件を満たす場合に、P’は元の照会プランPの等コスト照会プランであると決定するステップであって、この以下の条件が、
P’の各第1の結合演算の結合タイプが内部結合であり、第1の結合演算が、少なくとも2つの再構成された結合述語を有する結合演算であり、少なくとも2つの再構成された結合述語の各結合述語に対応する、Pの結合演算の結合タイプが内部結合であるという条件、
P’の各結合演算ob’の各結合述語pに関して、
ob’が演算レベル交換規則を満たさないとき、P’のTl(p)とPのTl(p)が等しく、P’のTr(p)とPのTr(p)が等しく、Tl(p)が、pが位置する結合演算の左サブツリーに含まれるpの入力テーブルを示し、Tr(p)が、pが位置する結合演算の右サブツリーに含まれるpの入力テーブルを示し、または
ob’が演算レベル交換規則を満たすとき、P’のTl(p)とPのTl(p)が等しく、P’のTr(p)とPのTr(p)が等しいか、またはP’のTl(p)とPのTr(p)が等しく、P’のTr(p)とPのTl(p)が等しいという条件、および
P’の各結合演算ob’の各結合述語pに関して、pが、Pのpに関する制約条件を満たすという条件である、ステップ
を含む。
一部の実施態様では、照会を実行するために等コスト照会プランセットから照会プランを選択するステップが、
照会を実行するために等コスト照会プランセットから最小コストの照会プランを選択するステップ
を含む。
第2の態様によれば、本開示の一実施形態は、データ照会装置を提供する。本装置は、第1の態様による方法を実行するためのモジュールを含む。
第3の態様によれば、本開示の一実施形態は、データ照会装置を提供する。本装置は、プロセッサと、メモリと、通信インタフェースとを含む。プロセッサは、メモリおよび通信インタフェースに結合される。メモリは、命令を格納するように構成され、プロセッサは、命令を実行するように構成され、通信インタフェースは、プロセッサの制御下で別のネットワーク要素と通信するように構成される。プロセッサは、プロセッサが命令を実行したときに、第1の態様による方法を実行する。
第4の態様によれば、本開示の一実施形態は、データベースシステムを提供する。データベースシステムは、第2の態様または第3の態様によるデータ照会装置とデータベースとを含む。
一部の実施態様では、元の照会プランの等コスト照会プランは、4つの演算レベル規則および3つの述語レベル規則の少なくとも1つを使用して変換することによって元の照会プランから取得される照会プランである。
一部の実施態様では、等コスト照会プラン空間は、4つの演算レベル規則および3つの述語レベル規則の少なくとも1つを使用して変換することによって元の照会プランから取得される複数の照会プランを含む。
開示の実施形態の技術的解決策をより明確に説明するために、以下では、本開示の実施形態を説明するために必要な添付図面について簡単に説明する。明らかに、以下の説明における添付図面は、本開示の一部の実施形態しか示しておらず、当業者は、創造的な努力なしにこれらの添付図面から他の図面をさらに得ることができる。
開示の一実施形態による適用シナリオの概略図である。 開示の一実施形態による別の適用シナリオの概略図である。 開示の一実施形態による結合演算の一例である。 開示の一実施形態による、等コスト照会プランの一例である。 開示の一実施形態による演算レベル交換規則の一例である。 開示の一実施形態による演算レベル組み合わせ規則の一例である。 開示の一実施形態による演算レベル左置換規則の一例である。 開示の一実施形態による演算レベル右置換規則の一例である。 開示の一実施形態による述語レベル組み合わせ規則の一例である。 開示の一実施形態による述語レベル左置換規則の一例である。 開示の一実施形態による述語レベル右置換規則の一例である。 開示の一実施形態による、等コスト照会プランの一例である。 開示の一実施形態によるデータ照会方法の概略フローチャートである。 開示の一実施形態による照会プランの一例である。 開示の一実施形態による元の照会プランの述語の制約条件を決定するフローチャートの前半である。 開示の一実施形態による元の照会プランの述語の制約条件を決定するフローチャートの後半である。 開示の一実施形態による制約条件の追加の概略図である。 開示の一実施形態による制約条件の追加の別の概略図である。 開示の一実施形態による等コスト照会プランを決定する例である。 開示の一実施形態によるデータ照会装置の概略ブロック図である。 開示の一実施形態によるデータベースシステムの概略ブロック図である。 開示の一実施形態によるデータ照会装置の概略構成図である。
以下では、本開示の実施形態の添付図面を参照しながら、本開示の実施形態の技術的解決策を明確かつ完全に説明する。明らかに、説明されている実施形態は、本開示の実施形態のすべてではなく、その一部である。創造的な努力なしに本開示の実施形態に基づいて当業者によって得られる他のすべての実施形態は、本開示の保護範囲内に含まれるものとする。
開示の実施形態における技術的解決策は、データベースシステムに適用することができる。図1aおよび図1bは、本開示の一実施形態による適用シナリオの概略図である。図1aは、単一のサーバを有するデータベースシステムであり、図1bは、分散データベースシステムである。
図1aに示すように、単一のサーバを有するデータベースシステム(すなわち、サーバ)は、データベース管理システムおよびデータベースを含み、クライアントの照会要求を処理し、照会結果をクライアントに返すように構成される。データベース管理システムは、照会オプティマイザなどの管理コンポーネントを含み、データベースシステムを管理するように構成される。このシナリオでは、本開示の実施形態における方法は、サーバ、またはサーバのデータベース管理システム、またはデータベース管理システムの照会オプティマイザによって実行され得る。
図1bに示すように、分散データベースシステムは、複数のサーバおよび分散管理システムを含み、クライアントの照会要求を処理し、照会結果をクライアントに返すように構成される。各サーバは、データベース管理システムおよびデータベースを含み、分散管理システムは、照会オプティマイザなどの管理コンポーネントを含み、分散データベースシステムを管理するように構成される。このシナリオでは、本開示の実施形態における方法は、分散データベースシステム、または分散データベースシステムの分散管理システム、または分散管理システムの照会オプティマイザによって実行され得る。
開示の実施形態の理解を容易にするために、以下ではまずデータベースシステムに関する用語を説明する。
開示の様々な実施形態において、結合演算は、演算または結合と呼ばれる場合もあり、また、結合演算は、データベース内の2つ以上のテーブルを1つの結果テーブルに組み合わせる。結合述語は述語と呼ばれる場合もあり、また、結合述語は、2つ以上のテーブルの列の関係を記述するために使用される。結合演算は、結合述語を使用してデータベース内のテーブルを組み合わせる。
結合演算は、内部結合(inner join)、左/右外部結合(left/right outer join)、完全外部結合(full outer join)、左/右半結合(left/right semi−join)、および左/右反結合(left/right anti−join)に分類される。
内部結合(inner join)は、データベースにおける最も一般的な結合演算である。内部結合は、結合述語に基づいて2つのテーブル(例えば、RおよびS)の列を互いに組み合わせて、新しい結果テーブルを生成する。この演算は、テーブルRの各行とテーブルSの各行を比較し、結合述語を満たす組み合わせを発見する。結合述語が満たされているとき、RおよびSの合致した行は、結果テーブルの1つの行として、列を単位に(並べて)組み合わされる。
左外部結合(left outer join)は、内部結合の拡張である。左外部結合と内部結合の違いは、2つのテーブルRおよびSに対して左外部結合が実行された場合に、結合述語を満たすように左テーブル(すなわち、テーブルR)の行に合致する右テーブルSの行がなかった場合、内部結合で左テーブルの行の値を直接破棄する代わりに、左外部結合は、それでもレコードを返し、その場合、レコードは、左テーブルのすべての列の値を保持するが、右テーブルの行に対応する各列の値が空(NULL)であることである。右外部結合(right outer join)は左外部結合と同様であるが、唯一の違いは、右テーブルの行に合致する左テーブルの行がなかった場合、演算によって返されるレコードにおける、左テーブルの各列の値が空であることである。完全外部結合(full outer join)は、左/右外部結合と同様であるが、唯一の違いは、左テーブルまたは右テーブルに関係なく、テーブルの行に合致する行がなかった場合に、演算がレコードを返し、レコードの合致しなかった行の、テーブルの列の値が空であることである。
左半結合(left semi−join)は、右テーブルに合致する行がある(すなわち、結合述語を満たす)左テーブルの行のみを返す。右半結合(right semi−join)は、左テーブルに合致する行がある(すなわち、結合述語を満たす)右テーブルの行のみを返す。
左反結合(left anti−join)は、右テーブルに合致する行がない(すなわち、結合述語を満たさない)左テーブルの行のみを返す。右反結合(right anti−join)は、左テーブルに合致する行がない(すなわち、結合述語を満たさない)右テーブルの行のみを返す。半結合および反結合の定義から、半結合と反結合が互いに相補的なセットであることが分かる。
図1cは、上記の様々な結合演算の例を示す。図1cでは、テーブルRおよびテーブルSに対して結合演算が実行されることが一例として使用されている。結合述語はR.b=S.cであり、様々な結合演算の結果が図1cに示されている。
図2は、等コスト照会プランの一例を示す。図2に示すように、SQL照会R1p12R2p23R3の場合、R1、R2、およびR3は入力テーブルを表し、∞は内部結合演算を表し、p12およびp23は、それぞれR1とR2との結合述語およびR2とR3との結合述語を表す。図2の2つの照会プランの両方は、照会に関して等コスト照会プランである。
開示の様々な実施形態では、結合演算規則は、演算レベル規則および述語レベル規則を含む。演算レベル規則は、演算レベル交換規則、演算レベル組み合わせ規則、演算レベル左置換規則、および演算レベル右置換規則を含む。述語レベル規則は、述語レベル組み合わせ規則、述語レベル左置換規則、および述語レベル右置換規則を含む。以下の説明において、各記号の意味を表1に示す。
演算レベル交換規則は、e1 oa p12 e2=e2 oa p12 e1である。図3は、演算レベル交換規則の一例である。表2は、演算レベル交換規則の結合演算テーブルであり、各結合演算が演算レベル交換規則を満たすかどうかを示す。+は、結合演算が演算レベル交換規則を満たすことを示し、−は、結合演算が演算レベル交換規則を満たさないことを示す。右外部結合、右半結合、および右反結合は、対応する左結合演算に変換することができ、したがって、本明細書では左結合演算のみが考慮されることを理解されたい。
演算レベル組み合わせ規則は、(e1 oa p12 e2)ob p23 e3=e1 oa p12(e2 ob p23 e3)である。図4は、演算レベル組み合わせ規則の一例である。表3は、演算レベル組み合わせ規則の結合演算テーブルであり、任意の2つの結合演算が演算レベル組み合わせ規則を満たすかどうかを示す。+は、2つの結合演算が演算レベル組み合わせ規則を満たすことを示し、−は、2つの結合演算が演算レベル組み合わせ規則を満たさないことを示す。上付き文字を伴う+は、ある条件下で組み合わせ規則が満たされることを示す。すなわち、上付き文字の条件が満たされている場合にのみ、2つの対応する結合演算は、組み合わせ規則を満たすことができる。
演算レベル左置換規則は、(e1 oa p12 e2)ob p13 e3=(e1 ob p13 e3)oa p12 e2である。図5は、演算レベル左置換規則の一例である。表4は、演算レベル左置換規則の結合演算テーブルであり、任意の2つの結合演算が演算レベル左置換規則を満たすかどうかを示す。+は、2つの結合演算が演算レベル左置換規則を満たすことを示し、−は、2つの結合演算が演算レベル左置換規則を満たさないことを示す。上付き文字を伴う+は、ある条件下で左置換規則が満たされることを示す。すなわち、上付き文字の条件が満たされている場合にのみ、2つの対応する結合演算は、左置換規則を満たすことができる。
演算レベル右置換規則は、e1 oa p13(e2 ob p23 e3)=e2 ob p23(e1 oa p13 e3)である。図6は、演算レベル右置換規則の一例である。表5は、演算レベル右置換規則の結合演算テーブルであり、任意の2つの結合演算が演算レベル右置換規則を満たすかどうかを示す。+は、2つの結合演算が演算レベル右置換規則を満たすことを示し、−は、2つの結合演算が演算レベル右置換規則を満たさないことを示す。上付き文字を伴う+は、ある条件下で右置換規則が満たされることを示す。すなわち、上付き文字の条件が満たされている場合にのみ、2つの対応する結合演算は、右置換規則を満たすことができる。
上記の演算レベル規則では、演算の結合述語とその演算は結び付けられている、すなわち、結合述語は演算間を移動できない。演算レベル規則とは異なり、述語レベル規則では、述語は演算間を移動できる。
述語レベル組み合わせ規則は、(e1 oa p12 e2)ob p∧p23 e3=e1 oa p12∧p(e2 ob p23 e3)である。∧はAND論理演算を示し、pはp23以外の結合述語を示し、pは空ではない。図7は、述語レベル組み合わせ規則の一例である。
述語レベル左置換規則は、(e1 oa p12 e2)ob p13∧p e3=(e1 ob p13 e3)oa p12∧p e2である。∧はAND論理演算を示し、pはp13以外の結合述語を示し、pは空ではない。図8は、述語レベル左置換規則の一例である。
述語レベル右置換規則は、e1 oa p∧p13(e2 ob p23 e3)=e2 ob p∧p23(e1 oa p13 e3)である。∧はAND論理演算を示し、pはp13以外の結合述語を示し、pは空ではない。図9は、述語レベル右置換規則の一例である。
表6は、述語レベル規則の結合演算テーブルであり、任意の2つの結合演算が述語レベル規則を満たすかどうかを示す。+は、2つの結合演算が述語レベル規則を満たすことを示し、−は、2つの結合演算が述語レベル規則を満たさないことを示す。上記の3つの述語レベル規則の結合演算テーブルは同じである、すなわち、表6は、3つの述語レベル規則のすべての結合演算テーブルを表す。
開示の実施形態では、上記の演算レベル規則または述語レベル規則を使用して変換することにより取得され得るすべての照会プランは、等コスト照会プランである。すなわち、本開示の実施形態における等コスト照会プラン空間は、4つの演算レベル規則および3つの述語レベル規則の少なくとも1つを使用して変換することにより取得され得るすべての照会プランである。規則が演算間で満たされるかどうかは、規則の結合演算テーブルに問い合わせることによって判定され得る。
演算レベル規則のみを使用して変換することにより得られる等コスト照会プラン空間と比較して、本開示の実施形態の等コスト照会プラン空間はより完全である。すなわち、演算レベル規則のみを使用して変換を行う場合、すべての等コスト照会プランを取得することができない。例えば、図10に示すように、左の元の照会プランに対して、右の2つの候補照会プランでは、演算間で結合述語を移動させているため、上記の4つの演算レベル規則を使用して左の元の照会プランを変換することによっては、これらの2つの候補照会プランは取得することができない。なお、2つの右の候補照会プランは、実際には左の元の照会プランと等価である。
開示の実施形態では、元の照会プランの等コスト照会プランは、演算レベル規則および述語レベル規則に基づいて決定され、元の照会プランのすべての等コスト照会プランを取得することができる。
図11は、本開示の一実施形態によるデータ照会方法1100の概略フローチャートである。方法1100は、データベースシステムによって実行され、データベースシステムは、コンピュータデバイス上で動作する。具体的には、本方法は、コンピュータ上で動作するデータ照会装置によって実行される。データ照会装置は、照会オプティマイザなどの、データベースシステム内の装置であってもよいし、データベースシステムであってもよい。
S1110.データ照会要求を受信する。
例えば、データ照会要求は、SQL言語を使用してユーザによって入力されたデータ照会要求であってもよい。
S1120.データ照会要求に従って元の照会プランを生成する。
データ照会要求が受信された後、データ照会要求は、元の照会プランを取得するために構文解析される。
任意選択的に、S1130.元の照会プランに従って候補照会プランセットを取得する。
候補照会プランセットは、元の照会プランのすべての候補照会プランを含む。このステップでは、照会プラン列挙アルゴリズムが、元の照会プランのすべての候補照会プランを列挙するために使用されてもよい。例えば、典型的な列挙アルゴリズムは、IBM System Rで使用される動的プログラミングアルゴリズムを含む。
元の照会プランのすべての候補照会プランが列挙された後、元の照会プランの等コスト照会プランが、すべての候補照会プランから決定されてもよい。
このステップは任意選択のステップである。すなわち、本開示のこの実施形態では、以下のステップを使用して、等コスト照会プランまたは等コスト照会プランセットを元の照会プランから直接取得してもよいし、以下のステップを使用して、等コスト照会プランセットを候補照会プランセットから取得してもよい。
S1140.元の照会プランの結合述語を再構成する。
具体的には、元の照会プランの内部結合演算のすべての結合述語が、連言標準形に変換され、同じ入力テーブルを有する結合述語が組み合わされ、元の照会プランの非内部結合演算のすべての結合述語が、1つの結合述語に組み合わされる。
すなわち、再構成方法は、元の照会プランの各結合演算ノードをトラバースし、以下の2つの場合に結合演算ノードの結合タイプに従って処理を行うことである。
結合演算が内部結合の場合、結合演算のすべての述語は、連言標準形(conjunctive normal form、CNF)、すなわちp1∧p2∧...∧pnの形に変換され、同じ入力テーブルを有する述語は組み合わされる。
結合演算が内部結合でない場合、結合演算のすべての述語は1つの述語に組み合わされる。
S1150.元の照会プランの再構成された結合述語の基本情報を決定する。
開示の様々な実施形態において、結合述語の基本情報は、結合述語の入力テーブルと、結合述語が位置する結合演算の左サブツリーに含まれる結合述語の入力テーブルと、結合述語が位置する結合演算の右サブツリーに含まれる結合述語の入力テーブルと、結合述語が位置する結合演算の結合タイプとを含む。
具体的には、述語pに関して、述語pの基本情報は、
T(p):pに含まれる入力テーブルと、
Tl(p):pが位置する演算の左サブツリーに含まれるpの入力テーブルと、
Tr(p):pが位置する演算の右サブツリーに含まれるpの入力テーブルと、
O(p):pが位置する演算の結合タイプと
を含む。
例えば、図12に示すルートノードの結合述語p={R1.a+R2.b=R3.c}に関して、pの基本情報は、
T(p):{R1,R2,R3}、
Tl(p):{R1,R2}、
Tr(p):{R3}、および
O(p):内部結合
である。
S1160.結合演算規則に基づいて、元の照会プランの再構成された結合述語の制約条件を決定する。
具体的には、元の照会プランの結合演算ノードoBごとに、oBをルートノードとして使用するサブツリー内の各結合演算ノードoAがトラバースされ、
oAが、oBをルートノードとして使用するサブツリーの左サブツリー内にあるときに、oAおよびoBが、演算レベル組み合わせ規則および述語レベル組み合わせ規則を満たさない場合、第1の制約条件が、oBの再構成された各結合述語に追加され、oAおよびoBが、演算レベル左置換規則および述語レベル左置換規則を満たさない場合、第2の制約条件が、oBの再構成された各結合述語に追加され、
oAが、oBをルートノードとして使用するサブツリーの右サブツリー内にあるときに、oAおよびoBが、演算レベル組み合わせ規則および述語レベル組み合わせ規則を満たさない場合、第2の制約条件が、oBの再構成された各結合述語に追加され、oAおよびoBが、演算レベル右置換規則および述語レベル右置換規則を満たさない場合、第1の制約条件が、oBの再構成された各結合述語に追加され、その場合、
第1の制約条件は、T(e2)−>T(e1)∩T(pa1∧pa2∧...∧pan)であり、第2の制約条件は、T(e1)−>T(e2)∩T(pa1∧pa2∧...∧pan)であり、T(e1)は、oAをルートノードとして使用するサブツリーの左サブツリーe1に含まれる元の入力テーブルを示し、T(e2)は、oAをルートノードとして使用するサブツリーの右サブツリーe2に含まれる元の入力テーブルを示し、T(pa1∧pa2∧...∧pan)は、oAの再構成された結合述語pa1∧pa2∧...∧panに含まれる元の入力テーブルを示し、T1−>T2は、T1−>T2によって制約される結合述語がルートノードとして位置する結合演算を使用する第1のサブツリーがT1の入力テーブルを含む場合に、第1のサブツリーがT2のすべての入力テーブルを含むことを示し、∩は積集合記号である。
例えば、図13Aおよび図13Bは、元の照会プランの述語の制約条件を決定するフローチャートを示す。図13Aおよび図13Bに示す手順は、2層トラバーサルを含む。外層に関しては、元の照会プランの各演算ノードoB(oBの再構成された述語はpb1∧pb2∧...∧pbnである)がトラバースされ、内層に関しては、oBをルートノードとして使用する照会サブツリー内の各演算ノードoA(oAの再構成された述語はpa1∧pa2∧...∧panである)がトラバースされる。次に、以下の2つの場合に、oAとoBとの関係に従って、oBの各述語に制約条件が追加される。
oAがoBの左サブツリー内にある場合、図14に示す方法に従って、oBの各述語pbiに制約条件が追加される。
oAがoBの右サブツリー内にある場合、図15に示す方法に従って、oBの各述語pbiに制約条件が追加される。
S1170.元の照会プランの再構成された結合述語の基本情報および元の照会プランの再構成された結合述語の制約条件に従って元の照会プランの等コスト照会プランを決定する。
任意選択的に、元の照会プランの等コスト照会プランセットが、元の照会プランの再構成された結合述語の基本情報および元の照会プランの再構成された結合述語の制約条件に従って決定されてもよい。等コスト照会プランセットの照会プランは、元の照会プランの等コスト照会プランである。
このステップでは、任意選択的に、元の照会プランの候補照会プランセットが列挙されて取得される場合、候補照会プランセットから等コスト照会プランセットを決定してもよい、すなわち、各候補照会プランが元の照会プランの等コスト照会プランであるかどうかが判定される。候補照会プランセットが存在しない場合は、元の照会プランから候補照会プランを取得するたびに、候補照会プランが元の照会プランの等コスト照会プランであるかどうかを判定してもよい。
具体的には、第1の候補照会プランP’が以下の条件を満たす場合に、P’は元の照会プランPの等コスト照会プランであると決定され、この以下の条件とは、
P’の各第1の結合演算の結合タイプが内部結合であり、第1の結合演算が、少なくとも2つの再構成された結合述語を有する結合演算であり、少なくとも2つの再構成された結合述語の各結合述語に対応する、Pの結合演算の結合タイプが内部結合であるという条件(この条件は結合タイプの一貫性と呼ばれ得る)、
P’の各結合演算ob’の各結合述語pに関して、
ob’が演算レベル交換規則を満たさないとき、P’のTl(p)とPのTl(p)が等しく、P’のTr(p)とPのTr(p)が等しく、Tl(p)が、pが位置する結合演算の左サブツリーに含まれるpの入力テーブルを示し、Tr(p)が、pが位置する結合演算の右サブツリーに含まれるpの入力テーブルを示し、
ob’が演算レベル交換規則を満たすとき、P’のTl(p)とPのTl(p)が等しく、P’のTr(p)とPのTr(p)が等しいか、またはP’のTl(p)とPのTr(p)が等しく、P’のTr(p)とPのTl(p)が等しいという条件(この条件は入力テーブル情報の一貫性と呼ばれ得る)、および
P’の各結合演算ob’の各結合述語pに関して、pが、Pのpに関する制約条件を満たすという条件(この条件は制約条件の一貫性と呼ばれ得る)であり、元の照会プランの候補照会プランセットが前に取得されている場合、ここでの第1の候補照会プランP’は、候補照会プランセット内の候補照会プランであってもよい。
元の照会プランのすべての等コスト照会プランは、上記の方法で取得することができる。すなわち、本開示のこの実施形態で取得される等コスト照会プランセットは最も完全である。
S1180.元の照会プランの等コスト照会プランに従って照会を実行する。
任意選択的に、照会プランは、照会を実行するために等コスト照会プランセットから選択されてもよい。すなわち、照会プランは、照会を実行するために上記の取得された等コスト照会プランセットから選択される。具体的には、最小コストの照会プランが、照会を実行するために等コスト照会プランセットから選択され、照会結果が返されてもよい。
開示のこの実施形態における等コスト照会プランセットは、元の照会プランのすべての等コスト照会プランを含むため、本開示のこの実施形態では、最適な照会プランを選択することができる。異なる照会プランの性能が数十倍、さらには数百倍異なることを考えると、本開示のこの実施形態の方法を使用することにより、データ照会性能を大幅に向上させることができる。
したがって、本開示のこの実施形態のデータ照会方法によれば、述語の基本情報と結合演算規則に基づいて取得される制約条件とに従って、元の照会プランの等コスト照会プランが決定され、元の照会プランのすべての等コスト照会プランが取得され得るため、データ照会のパフォーマンスを向上させることができる。
開示のこの実施形態における等コスト照会プランセットは、4つの演算レベル規則および3つの述語レベル規則の少なくとも1つを使用して変換することにより元の照会プランから取得され得るすべての照会プランを含む。元の照会プランの等コスト照会プランを決定するための方法は、上記のステップS1140〜S1170で与えられる。以下では、具体例を参照して、元の照会プランの等コスト照会プランを決定するための方法を詳細に説明する。これは、当業者が本開示のこの実施形態をよりよく理解するのを助けることを意図しているに過ぎず、本開示のこの実施形態の範囲を限定することを意図していないことに留意されたい。
図16は、3つの照会プランP、P’、およびP”を示す。∞は内部結合演算を表し、
は左反結合を表し、Pは元の照会プランであり、P’およびP”は候補照会プランである。候補照会プランP’およびP”が元の照会プランPと等価であるかどうかは、以下の方法で判定され得る。
1.元の照会プランPの結合述語が再構成され、再構成された結合述語の基本情報が決定され、Pは、3つの結合演算(すなわち、∞p14∧p34
、および∞p12)を含む。結合演算∞p14∧p34に関して、結合演算は内部結合であるため、結合演算の述語は連言標準形に変換する必要がある(p14∧p34の連言標準形はp14∧p34である)。p14およびp34の入力テーブルは異なるため、p14およびp34は、1つの述語に組み合わせることができない。結合演算
に関して、結合演算は内部結合ではないため、結合演算の述語(すなわち、p23)は1つの述語とみなされる。同様に、結合演算∞p12の述語は、再構成された後でも依然としてp12である。述語が再構成された後、再構成された述語の基本情報が決定される。表7に、Pの再構成された述語の基本情報を示す。
2.再構成された結合述語の制約条件が決定される。すなわち、演算∞p14∧p34は2つの下位演算(すなわち、∞p12および
)を有するので、述語p14およびp34の制約条件を取得するために、2つの下位演算および演算が対応する規則を満たすかどうかを判定する必要がある。下位演算∞p12および演算∞p14∧p34は、演算レベル組み合わせ規則および述語レベル組み合わせ規則を満たし、演算レベル左置換規則および述語レベル左置換規則をさらに満たすため、制約規則を追加する必要はない。下位演算
および演算∞p14∧p34は、演算レベル組み合わせ規則および述語レベル組み合わせ規則を満たさないため、p14およびp34に規則R3−>R2を追加する必要がある。さらに、
および演算∞p14∧p34は、述語レベル左置換規則を満たさないが、演算レベル左置換規則を満たすため、制約規則をさらに追加する必要はない。同様に、演算∞p12および
ならびに演算∞p12および
の下位演算の述語の制約条件は、演算∞p12および
ならびに演算∞p12および
の下位演算が対応する規則を満たすかどうかを判定することによって取得され得る。表8に、元の照会プランPの再構成された述語の制約条件を示す。
3.等コスト照会プランが、基本情報および述語の制約条件に従って決定される。すなわち、候補照会プランP’は結合タイプの一貫性に違反するため、P’は元の照会プランPと等価ではない(P’のルートノードの演算は2つの述語を含むが、ノードの演算タイプは内部結合ではなく、p23に対応する、Pの演算の結合タイプも内部結合ではない)。候補照会プランP”は、結合タイプの一貫性(P”の演算∞p12∧p34は内部結合であり、p12およびp34に対応する、元の照会Pの演算も内部結合である)と、入力テーブル情報の一貫性(P”の述語の入力テーブル情報およびテーブルの述語の入力テーブル情報が一貫する)と、制約条件の一貫性(P”の述語がテーブルに示された制約条件を満たす)とを満たすため、P”は、元の照会プランPと等価である。
開示のこの実施形態における、等コスト照会プランを決定するための方法によれば、元の照会プランのすべての等コスト照会プランを取得することができ、データ照会性能を向上させることができる。
上記のプロセスのシーケンス番号は、本開示の様々な実施形態において実行順序を意味するものではないことを理解されたい。プロセスの実行順序は、プロセスの機能および内部論理に従って決定されるべきであり、本開示の実施形態の実施プロセスへの制限として解釈されるべきではない。
以上、本開示の一実施形態によるデータ照会方法について詳細に説明した。以下では、本開示の一実施形態によるデータ照会装置およびデータベースシステムについて説明する。データ照会装置およびデータベースシステムは、本開示の上記の実施形態におけるデータ照会方法を実行することができる。
図17は、本開示の一実施形態によるデータ照会装置1700の概略ブロック図を示す。装置1700は、データベースシステム内の装置、例えば照会オプティマイザであってもよい。図17に示すように、装置1700は、
データ照会要求を受信するように構成される受信モジュール1710と、
データ照会要求に従って元の照会プランを生成するように構成される生成モジュール1720と、
元の照会プランの結合述語を再構成するように構成される再構成モジュール1740と、
決定モジュール1750であって、元の照会プランの再構成された結合述語の基本情報を決定し、結合演算規則に基づいて、元の照会プランの再構成された結合述語の制約条件を決定し、元の照会プランの再構成された結合述語の基本情報および元の照会プランの再構成された結合述語の制約条件に従って元の照会プランの等コスト照会プランを決定するように構成される決定モジュール1750と、
元の照会プランの等コスト照会プランに従って照会を実行するように構成される照会モジュール1780と
を含む。
開示のこの実施形態のデータ照会装置によれば、述語の基本情報と結合演算規則に基づいて取得される制約条件とに従って、元の照会プランの等コスト照会プランが決定され、元の照会プランのすべての等コスト照会プランが取得され得るため、データ照会のパフォーマンスを向上させることができる。
任意選択的に、本開示の一実施形態では、決定モジュール1750は、元の照会プランの再構成された結合述語の基本情報および元の照会プランの再構成された結合述語の制約条件に従って元の照会プランの等コスト照会プランセットを決定するように特に構成され、
照会モジュール1780は、照会を実行するために等コスト照会プランセットから照会プランを選択するように特に構成される。
任意選択的に、本開示の一実施形態では、装置1700は、
元の照会プランに従って候補照会プランセットを取得するように構成される取得モジュール1730
をさらに含んでもよく、
決定モジュール1750は、元の照会プランの再構成された結合述語の基本情報および元の照会プランの再構成された結合述語の制約条件に従って候補照会プランセットから等コスト照会プランセットを決定するように特に構成される。
任意選択的に、本開示の一実施形態では、再構成モジュール1740は、
元の照会プランの内部結合演算のすべての結合述語を連言標準形に変換し、同じ入力テーブルを有する結合述語を組み合わせ、
元の照会プランの非内部結合演算のすべての結合述語を1つの結合述語に組み合わせるように特に構成される。
任意選択的に、本開示の一実施形態では、結合述語の基本情報は、結合述語の入力テーブルと、結合述語が位置する結合演算の左サブツリーに含まれる結合述語の入力テーブルと、結合述語が位置する結合演算の右サブツリーに含まれる結合述語の入力テーブルと、結合述語が位置する結合演算の結合タイプとを含む。
任意選択的に、本開示の一実施形態では、結合演算規則は、演算レベル規則および述語レベル規則を含み、演算レベル規則は、演算レベル交換規則:e1 oa p12 e2=e2 oa p12 e1、演算レベル組み合わせ規則:(e1 oa p12 e2)ob p23 e3=e1 oa p12(e2 ob p23 e3)、演算レベル左置換規則:(e1 oa p12 e2)ob p13 e3=(e1 ob p13 e3)oa p12 e2、および演算レベル右置換規則:e1 oa p13(e2 ob p23 e3)=e2 ob p23(e1 oa p13 e3)を含み、述語レベル規則は、述語レベル組み合わせ規則:(e1 oa p12 e2)ob p∧p23 e3=e1 oa p12∧p(e2 ob p23 e3)、述語レベル左置換規則:(e1 oa p12 e2)ob p13∧p e3=(e1 ob p13 e3)oa p12∧p e2、および述語レベル右置換規則:e1 oa p∧p13(e2 ob p23 e3)=e2 ob p∧p23(e1 oa p13 e3)を含み、eiは照会式であり、oaおよびobは結合演算であり、pijはeiとejとの結合述語である。
任意選択的に、本開示の一実施形態では、決定モジュール1750は、
元の照会プランの結合演算ノードoBごとに、oBをルートノードとして使用するサブツリー内の各結合演算ノードoAをトラバースし、
oAが、oBをルートノードとして使用するサブツリーの左サブツリー内にあるときに、oAおよびoBが演算レベル組み合わせ規則および述語レベル組み合わせ規則を満たさない場合、第1の制約条件をoBの再構成された各結合述語に追加し、oAおよびoBが演算レベル左置換規則および述語レベル左置換規則を満たさない場合、第2の制約条件をoBの再構成された各結合述語に追加し、
oAが、oBをルートノードとして使用するサブツリーの右サブツリー内にあるときに、oAおよびoBが演算レベル組み合わせ規則および述語レベル組み合わせ規則を満たさない場合、第2の制約条件をoBの再構成された各結合述語に追加し、oAおよびoBが演算レベル右置換規則および述語レベル右置換規則を満たさない場合、第1の制約条件をoBの再構成された各結合述語に追加する
ように特に構成され、
第1の制約条件は、T(e2)−>T(e1)∩T(pa1∧pa2∧...∧pan)であり、第2の制約条件は、T(e1)−>T(e2)∩T(pa1∧pa2∧...∧pan)であり、T(e1)は、oAをルートノードとして使用するサブツリーの左サブツリーe1に含まれる元の入力テーブルを示し、T(e2)は、oAをルートノードとして使用するサブツリーの右サブツリーe2に含まれる元の入力テーブルを示し、T(pa1∧pa2∧...∧pan)は、oAの再構成された結合述語pa1∧pa2∧...∧panに含まれる元の入力テーブルを示し、T1−>T2は、T1−>T2によって制約される結合述語がルートノードとして位置する結合演算を使用する第1のサブツリーがT1の入力テーブルを含む場合に、第1のサブツリーがT2のすべての入力テーブルを含むことを示す。
任意選択的に、本開示の一実施形態では、決定モジュール1750は、
第1の候補照会プランP’が以下の条件を満たす場合に、P’は元の照会プランPの等コスト照会プランであると決定する
ように特に構成され、この以下の条件は、
P’の各第1の結合演算の結合タイプが内部結合であり、第1の結合演算が、少なくとも2つの再構成された結合述語を有する結合演算であり、少なくとも2つの再構成された結合述語の各結合述語に対応する、Pの結合演算の結合タイプが内部結合であるという条件、
P’の各結合演算ob’の各結合述語pに関して、
ob’が演算レベル交換規則を満たさないとき、P’のTl(p)とPのTl(p)が等しく、P’のTr(p)とPのTr(p)が等しく、Tl(p)が、pが位置する結合演算の左サブツリーに含まれるpの入力テーブルを示し、Tr(p)が、pが位置する結合演算の右サブツリーに含まれるpの入力テーブルを示し、
ob’が演算レベル交換規則を満たすとき、P’のTl(p)とPのTl(p)が等しく、P’のTr(p)とPのTr(p)が等しいか、またはP’のTl(p)とPのTr(p)が等しく、P’のTr(p)とPのTl(p)が等しいという条件、および
P’の各結合演算ob’の各結合述語pに関して、pが、Pのpに関する制約条件を満たすという条件である。
任意選択的に、本開示の一実施形態では、照会モジュール1780は、
照会を実行するために等コスト照会プランセットから最小コストの照会プランを選択する
ように特に構成される。
開示のこの実施形態によるデータ照会装置1700は、本開示の実施形態によるデータ照会方法の実行主体に対応してもよく、装置1700のモジュールの上記の他の演算および/または機能は、それぞれ上記の方法の対応する手順を実施するために使用される。簡潔にするために、ここでは詳細は再度説明しない。
図18は、本開示の一実施形態によるデータベースシステム1800の概略ブロック図を示す。図18に示すように、データベースシステム1800は、本開示の実施形態による上記のデータ照会装置1700と、データベース1810とを含む。データベースシステム1800は、本開示の実施形態によるデータ照会方法を実行し、データベース1810において照会を実行することができる。
図19は、本開示の別の実施形態によるデータ照会装置の構成を示す。装置は、少なくとも1つのプロセッサ1902(例えばCPU)と、少なくとも1つのネットワークインタフェース1905または別の通信インタフェースと、メモリ1906と、これらの装置間の接続および通信を実施するように構成される少なくとも1つの通信バス1903とを含む。プロセッサ1902は、メモリ1906に格納された実行可能モジュール(コンピュータプログラムなど)を実行するように構成される。メモリ1906は、高速ランダム・アクセス・メモリ(RAM、Random Access Memory)を含んでもよく、また、少なくとも1つの磁気ディスクメモリなどの不揮発性メモリ(non−volatile memory)をさらに含んでもよい。少なくとも1つの他のネットワーク要素との通信接続は、少なくとも1つのネットワークインタフェース1905(有線であっても無線であってもよい)を使用して実施される。
一部の実施態様では、メモリ1906は、プログラム19061を格納し、プロセッサ1902は、本開示の上記の実施形態によるデータ照会方法を実行するためにプログラム19061を実行する。
開示のこの実施形態における「および/または」という用語は、関連する対象を説明するための関連の関係のみを説明しており、3つの関係が存在し得ることを表すことを理解されたい。例えば、Aおよび/またはBは、以下の3つのケース、すなわち、Aのみが存在するケース、AおよびBの両方が存在するケース、Bのみが存在するケースを表すことができる。さらに、本明細書中の記号「/」は、一般に、互いに関連付けられる対象間の「または」関係を示す。
当業者であれば、本明細書に開示されている実施形態に記載された例との組み合わせにおいて、ユニットおよびアルゴリズムステップが、電子ハードウェア、コンピュータソフトウェア、またはこれらの組み合わせによって実施され得ることに気づくことができる。ハードウェアとソフトウェアとの互換性を明確に説明するために、上では、機能に応じて各例の構成およびステップを一般的に説明した。機能がハードウェアとソフトウェアのどちらによって実行されるかは、技術的解決策の特定の用途および設計制約条件に依存する。当業者であれば、特定の用途ごとに、説明された機能を実施する異なる方法を使用し得るが、その実施は本開示の範囲を超えると考えられるべきではない。
簡便かつ簡単な説明のために、上記のシステム、装置、およびユニットの詳細な動作プロセスについては、上記の方法の実施形態における対応するプロセスを参照することができ、ここでは詳細を再度説明していないことが、当業者によって明確に理解され得る。
本出願で提供されるいくつかの実施形態において、開示されたシステム、装置、および方法が他の方法で実施され得ることを理解されたい。例えば、説明した装置の実施形態は単なる例である。例えば、ユニットの分割は、論理的な機能の分割に過ぎず、実際の実施では他の分割であってもよい。例えば、複数のユニットまたはコンポーネントが、別のシステムとして組み合わされるか、もしくは統合されてもよいし、一部の特徴が、無視されるか、もしくは実行されなくてもよい。さらに、提示または叙述された相互結合または直接結合または通信接続は、装置またはユニット間のいくつかのインタフェース、間接結合、もしくは通信接続または電気的接続、機械的接続、もしくは他の形態の接続によって実施されてもよい。
別々の部分として説明されているユニットは、物理的に別々であってもなくてもよく、ユニットとして提示されている部分は、物理的なユニットであってもなくてもよく、1つの位置に配置されても、複数のネットワークユニットに分散されてもよい。ユニットの一部または全部は、本開示の実施形態の解決策の目的を達成するために実際の必要に応じて選択されてもよい。
さらに、本開示の実施形態における機能ユニットは、1つの処理ユニットに統合されてもよいし、これらのユニットの各々は、物理的に単独で存在してもよいし、2つ以上のユニットが、1つのユニットに統合される。統合ユニットは、ハードウェアの形態で実施されてもよいし、ソフトウェア機能ユニットの形態で実施されてもよい。
統合ユニットが、ソフトウェア機能ユニットの形態で実施され、独立した製品として販売または使用される場合、統合ユニットは、コンピュータ可読記憶媒体に格納されてもよい。そのような理解に基づいて、本質的に、本開示の技術的解決策、または従来技術に寄与する部分、または技術的解決策の全部もしくは一部は、ソフトウェア製品の形態で実施されてもよい。ソフトウェア製品は、記憶媒体に格納され、コンピュータデバイス(パーソナルコンピュータ、サーバ、またはネットワークデバイスであってもよい)に、本開示の実施形態で説明した方法のステップの全部または一部を実行するように命令するためのいくつかの命令を含む。上記の記憶媒体は、プログラムコードを格納することができる任意の媒体(USBフラッシュドライブ、リムーバブル・ハード・ディスク、読み出し専用メモリ(ROM、Read−Only Memory)、ランダム・アクセス・メモリ(RAM、Random Access Memory)、磁気ディスク、または光ディスクなど)を含む。
上記の説明は、本開示の特定の実施形態に過ぎず、本開示の保護範囲を限定するものではない。本開示で開示された技術的範囲内で当業者により容易に想到される修正例または置換例は、本開示の保護範囲内に含まれるものとする。したがって、本開示の保護範囲は、特許請求の範囲の保護範囲に従うものとする。
1100 データ照会方法
1700 データ照会装置
1710 受信モジュール
1720 生成モジュール
1730 取得モジュール
1740 再構成モジュール
1750 決定モジュール
1780 照会モジュール
1800 データベースシステム
1810 データベース
1902 プロセッサ
1903 通信バス
1905 ネットワークインタフェース
1906 メモリ
19061 プログラム

Claims (21)

  1. データ照会方法であって、前記方法がデータベースシステムによって実行され、前記データベースシステムがコンピュータデバイス上で動作し、前記方法が、
    データ照会要求を受信するステップと、
    前記データ照会要求に従って元の照会プランを生成するステップと、
    前記元の照会プランの結合述語を再構成するステップと、
    前記元の照会プランの再構成された結合述語の基本情報を決定するステップと、
    照会式の演算規則である演算レベル規則と前記結合述語の演算規則である述語レベル規則とを含む結合演算規則に基づいて、前記元の照会プランの前記再構成された結合述語の制約条件を決定するステップと、
    前記元の照会プランの前記再構成された結合述語の前記基本情報および前記元の照会プランの前記再構成された結合述語の前記制約条件に従って前記元の照会プランの等コスト照会プランを決定するステップであって、前記等コスト照会プランは、結合述語および該結合述語の演算が前記元の照会プランの結合述語および該結合述語の演算と同じであるプランである、ステップと、
    前記元の照会プランの前記等コスト照会プランに従って照会を実行するステップと
    を含む、データ照会方法。
  2. 前記元の照会プランの等コスト照会プランを決定することは、前記元の照会プランの等コスト照会プランセットを決定することであり、
    照会を実行することは、前記等コスト照会プランセットから照会プランを選択することである、請求項1に記載の方法。
  3. 前記方法が、
    前記元の照会プランに従って候補照会プランセットを取得するステップ
    をさらに含み、
    前記元の照会プランの前記再構成された結合述語の前記基本情報および前記元の照会プランの前記再構成された結合述語の前記制約条件に従って前記元の照会プランの等コスト照会プランセットを決定する前記ステップが、
    前記元の照会プランの前記再構成された結合述語の前記基本情報および前記元の照会プランの前記再構成された結合述語の前記制約条件に従って前記候補照会プランセットから前記等コスト照会プランセットを決定するステップ
    を含む、請求項2に記載の方法。
  4. 前記元の照会プランの結合述語を再構成する前記ステップが、
    前記元の照会プランの内部結合演算のすべての結合述語を連言標準形に変換し、同じ入力テーブルを有する結合述語を組み合わせるステップと、
    前記元の照会プランの非内部結合演算のすべての結合述語を1つの結合述語に組み合わせるステップと
    を含む、請求項1から3のいずれか一項に記載の方法。
  5. 前記結合述語の前記基本情報が、前記結合述語の入力テーブルと、前記結合述語が位置する結合演算の左サブツリーに含まれる前記結合述語の入力テーブルと、前記結合述語が位置する前記結合演算の右サブツリーに含まれる前記結合述語の入力テーブルと、前記結合述語が位置する前記結合演算の結合タイプとを含む、請求項1から4のいずれか一項に記載の方法。
  6. 記演算レベル規則が、演算レベル交換規則:e1 oa p12 e2=e2 oa p12 e1、演算レベル組み合わせ規則:(e1 oa p12 e2)ob p23 e3=e1 oa p12(e2 ob p23 e3)、演算レベル左置換規則:(e1 oa p12 e2)ob p13 e3=(e1 ob p13 e3)oa p12 e2、および演算レベル右置換規則:e1 oa p13(e2 ob p23 e3)=e2 ob p23(e1 oa p13 e3)を含み、前記述語レベル規則が、述語レベル組み合わせ規則:(e1 oa p12 e2)ob p∧p23 e3=e1 oa p12∧p(e2 ob p23 e3)、述語レベル左置換規則:(e1 oa p12 e2)ob p13∧p e3=(e1 ob p13 e3)oa p12∧p e2、および述語レベル右置換規則:e1 oa p∧p13(e2 ob p23 e3)=e2 ob p∧p23(e1 oa p13 e3)を含み、eiは照会式であり、oaおよびobは結合演算であり、pijはeiとejとの結合述語である、請求項1から5のいずれか一項に記載の方法。
  7. 結合演算規則に基づいて、前記元の照会プランの前記再構成された結合述語の制約条件を決定する前記ステップが、
    前記元の照会プランの結合演算ノードoBごとに、oBをルートノードとして使用するサブツリー内の各結合演算ノードoAをトラバースするステップ、および
    oAが、oBを前記ルートノードとして使用する前記サブツリーの左サブツリー内にあるときに、oAおよびoBが前記演算レベル組み合わせ規則および前記述語レベル組み合わせ規則を満たさない場合、第1の制約条件をoBの再構成された各結合述語に追加し、oAおよびoBが前記演算レベル左置換規則および前記述語レベル左置換規則を満たさない場合、第2の制約条件をoBの再構成された各結合述語に追加するステップ、または
    oAが、oBを前記ルートノードとして使用する前記サブツリーの右サブツリー内にあるときに、oAおよびoBが前記演算レベル組み合わせ規則および前記述語レベル組み合わせ規則を満たさない場合、第2の制約条件をoBの再構成された各結合述語に追加し、oAおよびoBが前記演算レベル右置換規則および前記述語レベル右置換規則を満たさない場合、第1の制約条件をoBの再構成された各結合述語に追加するステップ
    を含み、
    前記第1の制約条件が、T(e2)−>T(e1)∩T(pa1∧pa2∧...∧pan)であり、前記第2の制約条件が、T(e1)−>T(e2)∩T(pa1∧pa2∧...∧pan)であり、T(e1)は、oAをルートノードとして使用するサブツリーの左サブツリーe1に含まれる元の入力テーブルを示し、T(e2)は、oAを前記ルートノードとして使用する前記サブツリーの右サブツリーe2に含まれる元の入力テーブルを示し、T(pa1∧pa2∧...∧pan)は、oAの再構成された結合述語pa1∧pa2∧...∧panに含まれる元の入力テーブルを示し、T1−>T2は、T1−>T2によって制約される結合述語がルートノードとして位置する結合演算を使用する第1のサブツリーが入力テーブルT1の入力テーブルを含む場合に、前記第1のサブツリーが入力テーブルT2のすべての入力テーブルを含むことを示す、
    請求項6に記載の方法。
  8. 前記元の照会プランの前記再構成された結合述語の前記基本情報および前記元の照会プランの前記再構成された結合述語の前記制約条件に従って前記元の照会プランの等コスト照会プランを決定する前記ステップが、
    第1の候補照会プランP’が以下の条件を満たす場合に、P’は前記元の照会プランPの等コスト照会プランであると決定するステップであって、以下の条件が、
    P’の各第1の結合演算の結合タイプが内部結合であり、前記第1の結合演算が、少なくとも2つの再構成された結合述語を有する結合演算であり、前記少なくとも2つの再構成された結合述語の各結合述語に対応する、Pの結合演算の結合タイプが内部結合であるという条件、
    P’の各結合演算ob’の各結合述語pに関して、
    ob’が前記演算レベル交換規則を満たさないとき、P’のTl(p)とPのTl(p)が等しく、P’のTr(p)とPのTr(p)が等しく、Tl(p)が、pが位置する結合演算の左サブツリーに含まれるpの入力テーブルを示し、Tr(p)が、pが位置する前記結合演算の右サブツリーに含まれるpの入力テーブルを示し、または
    ob’が前記演算レベル交換規則を満たすとき、P’のTl(p)とPのTl(p)が等しく、P’のTr(p)とPのTr(p)が等しいか、またはP’のTl(p)とPのTr(p)が等しく、P’のTr(p)とPのTl(p)が等しいという条件、および
    P’の各結合演算ob’の各結合述語pに関して、pが、Pのpに関する制約条件を満たすという条件である、ステップ
    を含む、請求項6に記載の方法。
  9. 照会を実行するために前記等コスト照会プランセットから照会プランを選択する前記ステップが、
    照会を実行するために前記等コスト照会プランセットから最小コストの照会プランを選択するステップ
    を含む、請求項2に記載の方法。
  10. データ照会装置であって、
    データ照会要求を受信するように構成される受信モジュールと、
    前記データ照会要求に従って元の照会プランを生成するように構成される生成モジュールと、
    前記元の照会プランの結合述語を再構成するように構成される再構成モジュールと、
    前記元の照会プランの再構成された結合述語の基本情報を決定し、照会式の演算規則である演算レベル規則と前記結合述語の演算規則である述語レベル規則とを含む結合演算規則に基づいて、前記元の照会プランの前記再構成された結合述語の制約条件を決定し、前記元の照会プランの前記再構成された結合述語の前記基本情報および前記元の照会プランの前記再構成された結合述語の前記制約条件に従って前記元の照会プランの等コスト照会プランを決定するように構成される決定モジュールであって、前記等コスト照会プランは、結合述語および該結合述語の演算が前記元の照会プランの結合述語および該結合述語の演算と同じであるプランである、決定モジュールと、
    前記元の照会プランの前記等コスト照会プランに従って照会を実行するように構成される照会モジュールと
    を備える、データ照会装置。
  11. 前記元の照会プランの等コスト照会プランを決定することは、前記元の照会プランの等コスト照会プランセットを決定することであり、
    照会を実行することは、前記等コスト照会プランセットから照会プランを選択することである、
    請求項10に記載の装置。
  12. 前記装置が、
    前記元の照会プランに従って候補照会プランセットを取得するように構成される取得モジュール
    をさらに備え、
    前記決定モジュールが、前記元の照会プランの前記再構成された結合述語の前記基本情報および前記元の照会プランの前記再構成された結合述語の前記制約条件に従って前記候補照会プランセットから前記等コスト照会プランセットを決定するように特に構成される、
    請求項11に記載の装置。
  13. 前記再構成モジュールが、
    前記元の照会プランの内部結合演算のすべての結合述語を連言標準形に変換し、同じ入力テーブルを有する結合述語を組み合わせ、
    前記元の照会プランの非内部結合演算のすべての結合述語を1つの結合述語に組み合わせる
    ように特に構成される、請求項10から12のいずれか一項に記載の装置。
  14. 前記結合述語の前記基本情報が、前記結合述語の入力テーブルと、前記結合述語が位置する結合演算の左サブツリーに含まれる前記結合述語の入力テーブルと、前記結合述語が位置する前記結合演算の右サブツリーに含まれる前記結合述語の入力テーブルと、前記結合述語が位置する前記結合演算の結合タイプとを含む、請求項10から13のいずれか一項に記載の装置。
  15. 記演算レベル規則が、演算レベル交換規則:e1 oa p12 e2=e2 oa p12 e1、演算レベル組み合わせ規則:(e1 oa p12 e2)ob p23 e3=e1 oa p12(e2 ob p23 e3)、演算レベル左置換規則:(e1 oa p12 e2)ob p13 e3=(e1 ob p13 e3)oa p12 e2、および演算レベル右置換規則:e1 oa p13(e2 ob p23 e3)=e2 ob p23(e1 oa p13 e3)を含み、前記述語レベル規則が、述語レベル組み合わせ規則:(e1 oa p12 e2)ob p∧p23 e3=e1 oa p12∧p(e2 ob p23 e3)、述語レベル左置換規則:(e1 oa p12 e2)ob p13∧p e3=(e1 ob p13 e3)oa p12∧p e2、および述語レベル右置換規則:e1 oa p∧p13(e2 ob p23 e3)=e2 ob p∧p23(e1 oa p13 e3)を含み、eiは照会式であり、oaおよびobは結合演算であり、pijはeiとejとの結合述語である、請求項10から14のいずれか一項に記載の装置。
  16. 前記決定モジュールが、
    前記元の照会プランの結合演算ノードoBごとに、oBをルートノードとして使用するサブツリー内の各結合演算ノードoAをトラバースし、
    oAが、oBを前記ルートノードとして使用する前記サブツリーの左サブツリー内にあるときに、oAおよびoBが前記演算レベル組み合わせ規則および前記述語レベル組み合わせ規則を満たさない場合、第1の制約条件をoBの再構成された各結合述語に追加し、oAおよびoBが前記演算レベル左置換規則および前記述語レベル左置換規則を満たさない場合、第2の制約条件をoBの再構成された各結合述語に追加するか、または
    oAが、oBを前記ルートノードとして使用する前記サブツリーの右サブツリー内にあるときに、oAおよびoBが前記演算レベル組み合わせ規則および前記述語レベル組み合わせ規則を満たさない場合、第2の制約条件をoBの再構成された各結合述語に追加し、oAおよびoBが前記演算レベル右置換規則および前記述語レベル右置換規則を満たさない場合、第1の制約条件をoBの再構成された各結合述語に追加する
    ように特に構成され、
    前記第1の制約条件が、T(e2)−>T(e1)∩T(pa1∧pa2∧...∧pan)であり、前記第2の制約条件が、T(e1)−>T(e2)∩T(pa1∧pa2∧...∧pan)であり、T(e1)は、oAをルートノードとして使用するサブツリーの左サブツリーe1に含まれる元の入力テーブルを示し、T(e2)は、oAを前記ルートノードとして使用する前記サブツリーの右サブツリーe2に含まれる元の入力テーブルを示し、T(pa1∧pa2∧...∧pan)は、oAの再構成された結合述語pa1∧pa2∧...∧panに含まれる元の入力テーブルを示し、T1−>T2は、T1−>T2によって制約される結合述語がルートノードとして位置する結合演算を使用する第1のサブツリーが入力テーブルT1の入力テーブルを含む場合に、前記第1のサブツリーが入力テーブルT2のすべての入力テーブルを含むことを示す、
    請求項15に記載の装置。
  17. 前記決定モジュールが、
    第1の候補照会プランP’が以下の条件を満たす場合に、P’は前記元の照会プランPの等コスト照会プランであると決定するように特に構成され、以下の条件が、
    P’の各第1の結合演算の結合タイプが内部結合であり、前記第1の結合演算が、少なくとも2つの再構成された結合述語を有する結合演算であり、前記少なくとも2つの再構成された結合述語の各結合述語に対応する、Pの結合演算の結合タイプが内部結合であるという条件、
    P’の各結合演算ob’の各結合述語pに関して、
    ob’が前記演算レベル交換規則を満たさないとき、P’のTl(p)とPのTl(p)が等しく、P’のTr(p)とPのTr(p)が等しく、Tl(p)が、pが位置する結合演算の左サブツリーに含まれるpの入力テーブルを示し、Tr(p)が、pが位置する前記結合演算の右サブツリーに含まれるpの入力テーブルを示し、または
    ob’が前記演算レベル交換規則を満たすとき、P’のTl(p)とPのTl(p)が等しく、P’のTr(p)とPのTr(p)が等しいか、またはP’のTl(p)とPのTr(p)が等しく、P’のTr(p)とPのTl(p)が等しいという条件、および
    P’の各結合演算ob’の各結合述語pに関して、pが、Pのpに関する制約条件を満たすという条件である、
    請求項15に記載の装置。
  18. 前記照会モジュールが、
    照会を実行するために前記等コスト照会プランセットから最小コストの照会プランを選択する
    ように特に構成される、請求項11に記載の装置。
  19. 請求項10から18のいずれか一項に記載のデータ照会装置とデータベースとを備えるデータベースシステム。
  20. コンピュータに請求項1から9のいずれか一項に記載のデータ照会方法を実行させるように構成されたコンピュータプログラム。
  21. 請求項20に記載のコンピュータプログラムを記憶するコンピュータ読み取り可能な記録媒体。
JP2018527925A 2015-11-30 2015-11-30 データ照会方法および装置ならびにデータベースシステム Active JP6628455B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2015/095909 WO2017091925A1 (zh) 2015-11-30 2015-11-30 数据查询的方法、装置和数据库系统

Publications (2)

Publication Number Publication Date
JP2019504390A JP2019504390A (ja) 2019-02-14
JP6628455B2 true JP6628455B2 (ja) 2020-01-08

Family

ID=58796008

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018527925A Active JP6628455B2 (ja) 2015-11-30 2015-11-30 データ照会方法および装置ならびにデータベースシステム

Country Status (8)

Country Link
US (1) US10885034B2 (ja)
EP (1) EP3373154A4 (ja)
JP (1) JP6628455B2 (ja)
KR (1) KR102138627B1 (ja)
CN (1) CN107251013B (ja)
BR (1) BR112018010857B1 (ja)
SG (1) SG11201804544QA (ja)
WO (1) WO2017091925A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102125010B1 (ko) * 2020-03-17 2020-06-19 김명훈 데이터베이스 전환 분석 시스템 및 방법

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6707797B2 (ja) * 2017-03-29 2020-06-10 株式会社日立製作所 データベース管理システム及びデータベース管理方法
CN108664516A (zh) * 2017-03-31 2018-10-16 华为技术有限公司 查询优化方法及相关装置
US10885035B2 (en) * 2019-04-26 2021-01-05 Advanced New Technologies Co., Ltd. Method and system for outer join of database tables
US20200409948A1 (en) * 2019-06-26 2020-12-31 International Business Machines Corporation Adaptive Query Optimization Using Machine Learning
CN111104426B8 (zh) * 2019-11-22 2024-04-23 北京傲速科技有限公司 一种数据查询方法及系统
CN111151858B (zh) * 2020-01-13 2021-10-15 吉利汽车研究院(宁波)有限公司 一种点焊焊接参数应用系统及设置方法
CN114168620B (zh) * 2022-02-11 2022-05-17 北京奥星贝斯科技有限公司 执行计划的处理方法及装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5819255A (en) 1996-08-23 1998-10-06 Tandem Computers, Inc. System and method for database query optimization
JP4552242B2 (ja) * 1999-10-06 2010-09-29 株式会社日立製作所 仮想表インタフェースと該インタフェースを用いた問合せ処理システム及び方法
JP3515050B2 (ja) * 2000-07-07 2004-04-05 三菱電機株式会社 データベース演算処理装置
US6665663B2 (en) 2001-03-15 2003-12-16 International Business Machines Corporation Outerjoin and antijoin reordering using extended eligibility lists
US6598044B1 (en) * 2002-06-25 2003-07-22 Microsoft Corporation Method for choosing optimal query execution plan for multiple defined equivalent query expressions
US7617179B2 (en) * 2002-06-29 2009-11-10 Ianywhere Solutions, Inc. System and methodology for cost-based subquery optimization using a left-deep tree join enumeration algorithm
US8086598B1 (en) * 2006-08-02 2011-12-27 Hewlett-Packard Development Company, L.P. Query optimizer with schema conversion
US7546311B2 (en) * 2006-11-30 2009-06-09 Ianywhere Solutions, Inc. Optimization of left and right outer join operations in database management systems
CN101339551B (zh) * 2007-07-05 2013-01-30 日电(中国)有限公司 自然语言查询需求扩展设备及其方法
US8224806B2 (en) * 2009-07-31 2012-07-17 Hewlett-Packard Development Company, L.P. Selectivity-based optimized-query-plan caching
US8589382B2 (en) * 2011-12-29 2013-11-19 International Business Machines Corporation Multi-fact query processing in data processing system
US20130297586A1 (en) * 2012-05-07 2013-11-07 International Business Machines Corporation Optimizing queries using predicate mappers
CN103714058B (zh) 2012-09-28 2017-05-17 Sap欧洲公司 用于数据库查询优化的方法以及使用该方法的系统
CN104216891B (zh) * 2013-05-30 2018-02-02 国际商业机器公司 关系型数据库中的查询语句的优化方法和设备
CN103678589B (zh) * 2013-12-12 2017-02-01 用友网络科技股份有限公司 一种基于等价类的数据库内核查询优化方法
US9411806B2 (en) * 2014-05-06 2016-08-09 International Business Machines Corporation Optimizing relational database queries with multi-table predicate expressions
US10133778B2 (en) * 2015-11-20 2018-11-20 Sap Se Query optimization using join cardinality

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102125010B1 (ko) * 2020-03-17 2020-06-19 김명훈 데이터베이스 전환 분석 시스템 및 방법

Also Published As

Publication number Publication date
BR112018010857A2 (pt) 2018-11-21
US20180276277A1 (en) 2018-09-27
CN107251013A (zh) 2017-10-13
WO2017091925A1 (zh) 2017-06-08
JP2019504390A (ja) 2019-02-14
KR20180083927A (ko) 2018-07-23
BR112018010857A8 (pt) 2022-11-29
SG11201804544QA (en) 2018-06-28
US10885034B2 (en) 2021-01-05
KR102138627B1 (ko) 2020-07-28
EP3373154A1 (en) 2018-09-12
CN107251013B (zh) 2020-02-14
EP3373154A4 (en) 2018-09-12
BR112018010857B1 (pt) 2023-02-07

Similar Documents

Publication Publication Date Title
JP6628455B2 (ja) データ照会方法および装置ならびにデータベースシステム
US10963428B2 (en) Multi-range and runtime pruning
US10133778B2 (en) Query optimization using join cardinality
US8122008B2 (en) Joining tables in multiple heterogeneous distributed databases
EP2924594B1 (en) Data encoding and corresponding data structure in a column-store database
US10140351B2 (en) Method and apparatus for processing database data in distributed database system
US8396852B2 (en) Evaluating execution plan changes after a wakeup threshold time
US10242059B2 (en) Distributed execution of expressions in a query
US20140101133A1 (en) Estimating rows returned by recursive queries using fanout
US9582553B2 (en) Systems and methods for analyzing existing data models
US11693883B2 (en) Techniques for ordering predicates in column partitioned databases for query optimization
US10831737B2 (en) Method and device for partitioning association table in distributed database
CN102541631B (zh) 以多线程不同驱动源执行计划处理查询的方法和系统
US8805767B1 (en) Machine learning memory management and distributed rule evaluation
CN108431766B (zh) 用于访问数据库的方法和系统
US11775529B2 (en) Recursive functionality in relational database systems
US8515927B2 (en) Determining indexes for improving database system performance
US20160283527A1 (en) Flexible schema table
US20150347506A1 (en) Methods and apparatus for specifying query execution plans in database management systems
US20090171921A1 (en) Accelerating Queries Based on Exact Knowledge of Specific Rows Satisfying Local Conditions
US20150347507A1 (en) Hierarchical query plans in an elastic parallel database management system
US8898143B2 (en) Database comparison system and method
EP2469424B1 (en) Hash-join in parallel computation environments
US11573960B2 (en) Application-based query transformations
US20230267121A1 (en) Query efficiency using merged columns

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180709

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180709

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190617

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190917

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: 20191105

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191202

R150 Certificate of patent or registration of utility model

Ref document number: 6628455

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250