JP2019504390A - データ照会方法および装置ならびにデータベースシステム - Google Patents
データ照会方法および装置ならびにデータベースシステム Download PDFInfo
- Publication number
- JP2019504390A JP2019504390A JP2018527925A JP2018527925A JP2019504390A JP 2019504390 A JP2019504390 A JP 2019504390A JP 2018527925 A JP2018527925 A JP 2018527925A JP 2018527925 A JP2018527925 A JP 2018527925A JP 2019504390 A JP2019504390 A JP 2019504390A
- Authority
- JP
- Japan
- Prior art keywords
- join
- predicate
- query plan
- rule
- original
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 93
- 238000006467 substitution reaction Methods 0.000 claims description 22
- 238000010586 diagram Methods 0.000 description 19
- 238000004364 calculation method Methods 0.000 description 18
- 238000004891 communication Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 14
- 230000006870 function Effects 0.000 description 12
- 230000001131 transforming effect Effects 0.000 description 11
- 238000004422 calculation algorithm Methods 0.000 description 8
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
- G06F16/24542—Plan optimisation
- G06F16/24544—Join order optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
- G06F16/24542—Plan optimisation
- G06F16/24545—Selectivity estimation or determination
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Operations Research (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
データ照会要求を受信するステップと、
データ照会要求に従って元の照会プランを生成するステップと、
元の照会プランの結合述語を再構成するステップと、
元の照会プランの再構成された結合述語の基本情報を決定するステップと、
結合演算規則に基づいて、元の照会プランの再構成された結合述語の制約条件を決定するステップと、
元の照会プランの再構成された結合述語の基本情報および元の照会プランの再構成された結合述語の制約条件に従って元の照会プランの等コスト照会プランを決定するステップと、
元の照会プランの等コスト照会プランに従って照会を実行するステップと
を含む、データ照会方法を提供する。
元の照会プランの再構成された結合述語の基本情報および元の照会プランの再構成された結合述語の制約条件に従って元の照会プランの等コスト照会プランセットを決定するステップ
を含み、
元の照会プランの等コスト照会プランに従って照会を実行するステップが、
照会を実行するために等コスト照会プランセットから照会プランを選択するステップ
を含む。
元の照会プランに従って候補照会プランセットを取得するステップ
をさらに含み、
元の照会プランの候補照会プランは、ここで可能な限り多く取得されるべきであり、好ましくは、照会プラン列挙アルゴリズムを、元の照会プランのすべての候補照会プランを列挙するために使用することができ、典型的な列挙アルゴリズム、例えば、IBM System Rで使用される動的プログラミングアルゴリズムが使用されてもよく、
元の照会プランの再構成された結合述語の基本情報および元の照会プランの再構成された結合述語の制約条件に従って元の照会プランの等コスト照会プランセットを決定するステップが、
元の照会プランの再構成された結合述語の基本情報および元の照会プランの再構成された結合述語の制約条件に従って候補照会プランセットから等コスト照会プランセットを決定するステップ
を含む。
元の照会プランの内部結合演算のすべての結合述語を連言標準形に変換し、同じ入力テーブルを有する結合述語を組み合わせるステップと、
元の照会プランの非内部結合演算のすべての結合述語を1つの結合述語に組み合わせるステップと
を含む。
元の照会プランの結合演算ノード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に関する制約条件を満たすという条件である、ステップ
を含む。
照会を実行するために等コスト照会プランセットから最小コストの照会プランを選択するステップ
を含む。
T(p):pに含まれる入力テーブルと、
Tl(p):pが位置する演算の左サブツリーに含まれるpの入力テーブルと、
Tr(p):pが位置する演算の右サブツリーに含まれるpの入力テーブルと、
O(p):pが位置する演算の結合タイプと
を含む。
T(p):{R1,R2,R3}、
Tl(p):{R1,R2}、
Tr(p):{R3}、および
O(p):内部結合
である。
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のすべての入力テーブルを含むことを示し、∩は積集合記号である。
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’は、候補照会プランセット内の候補照会プランであってもよい。
データ照会要求を受信するように構成される受信モジュール1710と、
データ照会要求に従って元の照会プランを生成するように構成される生成モジュール1720と、
元の照会プランの結合述語を再構成するように構成される再構成モジュール1740と、
決定モジュール1750であって、元の照会プランの再構成された結合述語の基本情報を決定し、結合演算規則に基づいて、元の照会プランの再構成された結合述語の制約条件を決定し、元の照会プランの再構成された結合述語の基本情報および元の照会プランの再構成された結合述語の制約条件に従って元の照会プランの等コスト照会プランを決定するように構成される決定モジュール1750と、
元の照会プランの等コスト照会プランに従って照会を実行するように構成される照会モジュール1780と
を含む。
照会モジュール1780は、照会を実行するために等コスト照会プランセットから照会プランを選択するように特に構成される。
元の照会プランに従って候補照会プランセットを取得するように構成される取得モジュール1730
をさらに含んでもよく、
決定モジュール1750は、元の照会プランの再構成された結合述語の基本情報および元の照会プランの再構成された結合述語の制約条件に従って候補照会プランセットから等コスト照会プランセットを決定するように特に構成される。
元の照会プランの内部結合演算のすべての結合述語を連言標準形に変換し、同じ入力テーブルを有する結合述語を組み合わせ、
元の照会プランの非内部結合演算のすべての結合述語を1つの結合述語に組み合わせるように特に構成される。
元の照会プランの結合演算ノード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に関する制約条件を満たすという条件である。
照会を実行するために等コスト照会プランセットから最小コストの照会プランを選択する
ように特に構成される。
1700 データ照会装置
1710 受信モジュール
1720 生成モジュール
1730 取得モジュール
1740 再構成モジュール
1750 決定モジュール
1780 照会モジュール
1800 データベースシステム
1810 データベース
1902 プロセッサ
1903 通信バス
1905 ネットワークインタフェース
1906 メモリ
19061 プログラム
データ照会要求を受信するステップと、
データ照会要求に従って元の照会プランを生成するステップと、
元の照会プランの結合述語を再構成するステップと、
元の照会プランの再構成された結合述語の基本情報を決定するステップと、
結合演算規則に基づいて、元の照会プランの再構成された結合述語の制約条件を決定するステップと、
元の照会プランの再構成された結合述語の基本情報および元の照会プランの再構成された結合述語の制約条件に従って元の照会プランの等コスト照会プランを決定するステップと、
元の照会プランの等コスト照会プランに従って照会を実行するステップと
を含む、データ照会方法を提供する。
データ照会要求を受信するように構成される受信モジュール1710と、
データ照会要求に従って元の照会プランを生成するように構成される生成モジュール1720と、
元の照会プランの結合述語を再構成するように構成される再構成モジュール1740と、
決定モジュール1750であって、元の照会プランの再構成された結合述語の基本情報を決定し、結合演算規則に基づいて、元の照会プランの再構成された結合述語の制約条件を決定し、元の照会プランの再構成された結合述語の基本情報および元の照会プランの再構成された結合述語の制約条件に従って元の照会プランの等コスト照会プランを決定するように構成される決定モジュール1750と、
元の照会プランの等コスト照会プランに従って照会を実行するように構成される照会モジュール1780と
を含む。
照会モジュール1780は、照会を実行するために等コスト照会プランセットから照会プランを選択するように特に構成される。
元の照会プランに従って候補照会プランセットを取得するように構成される取得モジュール1730
をさらに含んでもよく、
決定モジュール1750は、元の照会プランの再構成された結合述語の基本情報および元の照会プランの再構成された結合述語の制約条件に従って候補照会プランセットから等コスト照会プランセットを決定するように特に構成される。
元の照会プランの内部結合演算のすべての結合述語を連言標準形に変換し、同じ入力テーブルを有する結合述語を組み合わせ、
元の照会プランの非内部結合演算のすべての結合述語を1つの結合述語に組み合わせるように特に構成される。
元の照会プランの結合演算ノード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に関する制約条件を満たすという条件である。
照会を実行するために等コスト照会プランセットから最小コストの照会プランを選択する
ように特に構成される。
Claims (20)
- データ照会方法であって、前記方法がデータベースシステムによって実行され、前記データベースシステムがコンピュータデバイス上で動作し、前記方法が、
データ照会要求を受信するステップと、
前記データ照会要求に従って元の照会プランを生成するステップと、
前記元の照会プランの結合述語を再構成するステップと、
前記元の照会プランの再構成された結合述語の基本情報を決定するステップと、
結合演算規則に基づいて、前記元の照会プランの前記再構成された結合述語の制約条件を決定するステップと、
前記元の照会プランの前記再構成された結合述語の前記基本情報および前記元の照会プランの前記再構成された結合述語の前記制約条件に従って前記元の照会プランの等コスト照会プランを決定するステップと、
前記元の照会プランの前記等コスト照会プランに従って照会を実行するステップと
を含む、データ照会方法。 - 前記元の照会プランの前記再構成された結合述語の前記基本情報および前記元の照会プランの前記再構成された結合述語の前記制約条件に従って前記元の照会プランの等コスト照会プランを決定する前記ステップが、
前記元の照会プランの前記再構成された結合述語の前記基本情報および前記元の照会プランの前記再構成された結合述語の前記制約条件に従って前記元の照会プランの等コスト照会プランセットを決定するステップ
を含み、
前記元の照会プランの前記等コスト照会プランに従って照会を実行する前記ステップが、
照会を実行するために前記等コスト照会プランセットから照会プランを選択するステップ
を含む、請求項1に記載の方法。 - 前記方法が、
前記元の照会プランに従って候補照会プランセットを取得するステップ
をさらに含み、
前記元の照会プランの前記再構成された結合述語の前記基本情報および前記元の照会プランの前記再構成された結合述語の前記制約条件に従って前記元の照会プランの等コスト照会プランセットを決定する前記ステップが、
前記元の照会プランの前記再構成された結合述語の前記基本情報および前記元の照会プランの前記再構成された結合述語の前記制約条件に従って前記候補照会プランセットから前記等コスト照会プランセットを決定するステップ
を含む、請求項2に記載の方法。 - 前記元の照会プランの結合述語を再構成する前記ステップが、
前記元の照会プランの内部結合演算のすべての結合述語を連言標準形に変換し、同じ入力テーブルを有する結合述語を組み合わせるステップと、
前記元の照会プランの非内部結合演算のすべての結合述語を1つの結合述語に組み合わせるステップと
を含む、請求項1から3のいずれか一項に記載の方法。 - 前記結合述語の前記基本情報が、前記結合述語の入力テーブルと、前記結合述語が位置する結合演算の左サブツリーに含まれる前記結合述語の入力テーブルと、前記結合述語が位置する前記結合演算の右サブツリーに含まれる前記結合述語の入力テーブルと、前記結合述語が位置する前記結合演算の結合タイプとを含む、請求項1から4のいずれか一項に記載の方法。
- 前記結合演算規則が、演算レベル規則および述語レベル規則を含み、前記演算レベル規則が、演算レベル交換規則: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のいずれか一項に記載の方法。
- 結合演算規則に基づいて、前記元の照会プランの前記再構成された結合述語の制約条件を決定する前記ステップが、
前記元の照会プランの結合演算ノード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に記載の方法。 - 前記元の照会プランの前記再構成された結合述語の前記基本情報および前記元の照会プランの前記再構成された結合述語の前記制約条件に従って前記元の照会プランの等コスト照会プランを決定する前記ステップが、
第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から7のいずれか一項に記載の方法。 - 照会を実行するために前記等コスト照会プランセットから照会プランを選択する前記ステップが、
照会を実行するために前記等コスト照会プランセットから最小コストの照会プランを選択するステップ
を含む、請求項2に記載の方法。 - データ照会装置であって、
データ照会要求を受信するように構成される受信モジュールと、
前記データ照会要求に従って元の照会プランを生成するように構成される生成モジュールと、
前記元の照会プランの結合述語を再構成するように構成される再構成モジュールと、
前記元の照会プランの再構成された結合述語の基本情報を決定し、結合演算規則に基づいて、前記元の照会プランの前記再構成された結合述語の制約条件を決定し、前記元の照会プランの前記再構成された結合述語の前記基本情報および前記元の照会プランの前記再構成された結合述語の前記制約条件に従って前記元の照会プランの等コスト照会プランを決定するように構成される決定モジュールと、
前記元の照会プランの前記等コスト照会プランに従って照会を実行するように構成される照会モジュールと
を備える、データ照会装置。 - 前記決定モジュールが、前記元の照会プランの前記再構成された結合述語の前記基本情報および前記元の照会プランの前記再構成された結合述語の前記制約条件に従って前記元の照会プランの等コスト照会プランセットを決定するように特に構成され、
前記照会モジュールが、照会を実行するために前記等コスト照会プランセットから照会プランを選択するように特に構成される、
請求項10に記載の装置。 - 前記装置が、
前記元の照会プランに従って候補照会プランセットを取得するように構成される取得モジュール
をさらに備え、
前記決定モジュールが、前記元の照会プランの前記再構成された結合述語の前記基本情報および前記元の照会プランの前記再構成された結合述語の前記制約条件に従って前記候補照会プランセットから前記等コスト照会プランセットを決定するように特に構成される、
請求項11に記載の装置。 - 前記再構成モジュールが、
前記元の照会プランの内部結合演算のすべての結合述語を連言標準形に変換し、同じ入力テーブルを有する結合述語を組み合わせ、
前記元の照会プランの非内部結合演算のすべての結合述語を1つの結合述語に組み合わせる
ように特に構成される、請求項10から12のいずれか一項に記載の装置。 - 前記結合述語の前記基本情報が、前記結合述語の入力テーブルと、前記結合述語が位置する結合演算の左サブツリーに含まれる前記結合述語の入力テーブルと、前記結合述語が位置する前記結合演算の右サブツリーに含まれる前記結合述語の入力テーブルと、前記結合述語が位置する前記結合演算の結合タイプとを含む、請求項10から13のいずれか一項に記載の装置。
- 前記結合演算規則が、演算レベル規則および述語レベル規則を含み、前記演算レベル規則が、演算レベル交換規則: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のいずれか一項に記載の装置。
- 前記決定モジュールが、
前記元の照会プランの結合演算ノード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に記載の装置。 - 前記決定モジュールが、
第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に関する制約条件を満たすという条件である、
請求項10から16のいずれか一項に記載の装置。 - 前記照会モジュールが、
照会を実行するために前記等コスト照会プランセットから最小コストの照会プランを選択する
ように特に構成される、請求項11に記載の装置。 - データ照会装置であって、装置が、プロセッサおよびメモリを備え、前記メモリが、命令を格納するように構成され、前記プロセッサが、前記命令を実行するように構成され、前記プロセッサが、前記プロセッサが前記命令を実行したときに、請求項1から9のいずれか一項に記載の方法を実行する、データ照会装置。
- 請求項10から18のいずれか一項に記載のデータ照会装置とデータベースとを備えるデータベースシステム。
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 true JP2019504390A (ja) | 2019-02-14 |
JP6628455B2 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) |
Families Citing this family (10)
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 |
CN111949686B (zh) * | 2019-05-14 | 2024-05-14 | 阿里巴巴集团控股有限公司 | 一种数据处理方法、装置及设备 |
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 | 吉利汽车研究院(宁波)有限公司 | 一种点焊焊接参数应用系统及设置方法 |
KR102125010B1 (ko) * | 2020-03-17 | 2020-06-19 | 김명훈 | 데이터베이스 전환 분석 시스템 및 방법 |
CN114168620B (zh) * | 2022-02-11 | 2022-05-17 | 北京奥星贝斯科技有限公司 | 执行计划的处理方法及装置 |
CN115964374B (zh) * | 2023-02-22 | 2023-09-26 | 深圳计算科学研究院 | 一种基于预计算场景的查询处理方法及其装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001109758A (ja) * | 1999-10-06 | 2001-04-20 | Hitachi Ltd | 仮想表インタフェースと該インタフェースを用いた問合せ処理システム及び方法 |
JP2002024281A (ja) * | 2000-07-07 | 2002-01-25 | Mitsubishi Electric Corp | データベース演算処理装置 |
US6598044B1 (en) * | 2002-06-25 | 2003-07-22 | Microsoft Corporation | Method for choosing optimal query execution plan for multiple defined equivalent query expressions |
Family Cites Families (14)
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 |
US6665663B2 (en) | 2001-03-15 | 2003-12-16 | International Business Machines Corporation | Outerjoin and antijoin reordering using extended eligibility lists |
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 |
-
2015
- 2015-11-30 EP EP15909443.2A patent/EP3373154A4/en not_active Ceased
- 2015-11-30 JP JP2018527925A patent/JP6628455B2/ja active Active
- 2015-11-30 WO PCT/CN2015/095909 patent/WO2017091925A1/zh active Application Filing
- 2015-11-30 SG SG11201804544QA patent/SG11201804544QA/en unknown
- 2015-11-30 KR KR1020187017354A patent/KR102138627B1/ko active IP Right Grant
- 2015-11-30 CN CN201580005935.1A patent/CN107251013B/zh active Active
- 2015-11-30 BR BR112018010857-0A patent/BR112018010857B1/pt active IP Right Grant
-
2018
- 2018-05-30 US US15/992,925 patent/US10885034B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001109758A (ja) * | 1999-10-06 | 2001-04-20 | Hitachi Ltd | 仮想表インタフェースと該インタフェースを用いた問合せ処理システム及び方法 |
US6694306B1 (en) * | 1999-10-06 | 2004-02-17 | Hitachi, Ltd. | System and method for query processing using virtual table interface |
JP2002024281A (ja) * | 2000-07-07 | 2002-01-25 | Mitsubishi Electric Corp | データベース演算処理装置 |
US6598044B1 (en) * | 2002-06-25 | 2003-07-22 | Microsoft Corporation | Method for choosing optimal query execution plan for multiple defined equivalent query expressions |
JP2004030677A (ja) * | 2002-06-25 | 2004-01-29 | Microsoft Corp | 複数の定義された同等のクエリ式の最適クエリ実行プランを選択する方法 |
Also Published As
Publication number | Publication date |
---|---|
BR112018010857B1 (pt) | 2023-02-07 |
KR20180083927A (ko) | 2018-07-23 |
US20180276277A1 (en) | 2018-09-27 |
WO2017091925A1 (zh) | 2017-06-08 |
CN107251013A (zh) | 2017-10-13 |
EP3373154A1 (en) | 2018-09-12 |
BR112018010857A2 (pt) | 2018-11-21 |
JP6628455B2 (ja) | 2020-01-08 |
KR102138627B1 (ko) | 2020-07-28 |
EP3373154A4 (en) | 2018-09-12 |
US10885034B2 (en) | 2021-01-05 |
BR112018010857A8 (pt) | 2022-11-29 |
CN107251013B (zh) | 2020-02-14 |
SG11201804544QA (en) | 2018-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6628455B2 (ja) | データ照会方法および装置ならびにデータベースシステム | |
JP7130600B2 (ja) | ファーストクラスデータベース要素としての半構造データの実装 | |
US10963428B2 (en) | Multi-range and runtime pruning | |
US11386091B2 (en) | Joining large database tables | |
US10133778B2 (en) | Query optimization using join cardinality | |
US8943059B2 (en) | Systems and methods for merging source records in accordance with survivorship rules | |
US11055352B1 (en) | Engine independent query plan optimization | |
US20160224630A1 (en) | Integrating map-reduce into a distributed relational database | |
US20120278305A1 (en) | Dynamic merging of executable structures in a database system | |
US20130138628A1 (en) | Hash-join in parallel computation environments | |
US8938456B2 (en) | Data recovery system and method in a resource description framework environment | |
US10606892B1 (en) | Graph database super vertex partitioning | |
US20140012810A1 (en) | Method and apparatus for processing database data in distributed database system | |
US10146814B1 (en) | Recommending provisioned throughput capacity for generating a secondary index for an online table | |
US10831737B2 (en) | Method and device for partitioning association table in distributed database | |
JP6940239B2 (ja) | データストックを匿名化するための方法およびシステム | |
US20220300506A1 (en) | Query processing method, data source registration method, and query engine | |
US10157234B1 (en) | Systems and methods for transforming datasets | |
US11775529B2 (en) | Recursive functionality in relational database systems | |
CN108431766B (zh) | 用于访问数据库的方法和系统 | |
US8515927B2 (en) | Determining indexes for improving database system performance | |
CN105550332A (zh) | 一种基于双层索引结构的起源图查询方法 | |
US20150347507A1 (en) | Hierarchical query plans in an elastic parallel database management system | |
CN113742346A (zh) | 资产大数据平台架构优化方法 | |
EP2469424B1 (en) | Hash-join in parallel computation environments |
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 |