[發明專利]迭代分析查詢處理的統一優化在審
| 申請號: | 201910432941.5 | 申請日: | 2019-05-23 |
| 公開(公告)號: | CN110532288A | 公開(公告)日: | 2019-12-03 |
| 發明(設計)人: | C.鄭;S.Y.李;C.李 | 申請(專利權)人: | SAP歐洲公司 |
| 主分類號: | G06F16/2453 | 分類號: | G06F16/2453 |
| 代理公司: | 11105 北京市柳沈律師事務所 | 代理人: | 賈洪菠<國際申請>=<國際公布>=<進入 |
| 地址: | 德國瓦*** | 國省代碼: | 德國;DE |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 查詢執行計劃 沉降 查詢 優化 程序正確性 備選查詢 查詢語句 迭代控制 命令邏輯 企業應用 輸入程序 協同效應 循環邊界 資源需求 備選的 依賴圖 內聯 移出 移入 列舉 聲明 違反 改進 分析 統一 | ||
1.一種計算機實施的方法,包括:
接收包括多個語句的輸入程序的中間表示,其中所述多個語句包括多個查詢語句、以及包括循環的多個命令語句;
經由輸入程序的中間表示列舉輸入程序的多個查詢執行計劃候選,其中所述列舉包括對查詢語句執行至少一個沉降操作,其中所述至少一個沉降操作將查詢語句移動到循環邊界內;
執行組合至少兩個查詢語句的查詢內聯;
估計所述多個查詢執行計劃候選中的各個的計算執行資源需求;和
確定輸入程序的最優查詢執行計劃,其中所述確定包括發現具有最低估計的計算執行資源需求的候選查詢執行計劃。
2.根據權利要求1所述的計算機實施的方法,其中所述列舉包括:
將中間表示中的查詢語句移動到不同的循環中或將中間表示中的查詢語句移動到已經具有其他查詢語句的循環中;
由此,最優查詢執行計劃跨迭代構造集成查詢運動。
3.根據權利要求1所述的計算機實施的方法,還包括:
對查詢語句執行至少一個提升操作,從而將查詢語句移動到循環邊界外。
4.根據權利要求1所述的計算機實施的方法,其中所述列舉包括:
生成初始查詢執行計劃候選,其中所述生成包括對出現在中間表示中的多個查詢語句執行提升操作。
5.根據權利要求4所述的計算機實施的方法,其中所述列舉包括:
生成多個備選查詢執行計劃候選,其中所述生成包括對初始查詢執行計劃候選執行各種不同排列的沉降操作,以得到所述多個備選查詢執行計劃候選中的不同候選。
6.根據權利要求5所述的計算機實施的方法,其中,執行查詢內聯包括:
對至少一個沉降的查詢語句執行查詢內聯。
7.根據權利要求6所述的計算機實施的方法,其中:
查詢內聯相對提高了輸入程序的性能。
8.根據權利要求4所述的計算機實施的方法,其中所述列舉包括:
根據基于數據依賴圖的考慮排除沉降操作。
9.根據權利要求1所述的計算機實施的方法,其中所述列舉包括:
考慮多個查詢語句作為循環的沉降操作候選;
基于表示所述多個語句的至少一個數據依賴關系的數據依賴圖,從考慮中排除沉降操作候選中的至少一個。
10.根據權利要求1所述的計算機實施的方法,其中所述列舉包括:
基于表示所述多個語句的至少一個數據依賴關系的數據依賴圖,構建用于循環的沉降子圖,其中沉降子圖表示循環中的多個語句之間的沉降依賴。
11.根據權利要求10所述的計算機實施的方法,其中所述列舉包括:
列舉其他沉降子圖,其表示其他循環中的多個語句之間的沉降依賴。
12.根據權利要求1所述的計算機實施的方法,其中列舉所述多個查詢執行計劃候選包括生成反映針對所述輸入程序的不同查詢語句的多個沉降操作的多個備選執行計劃。
13.根據權利要求1所述的計算機實施的方法,其中,所述查詢內聯包括:內聯被沉降在所述循環邊界內的語句以得到所述多個查詢執行計劃候選之一。
14.根據權利要求13所述的計算機實施的方法,其中,所述查詢內聯包括,對于僅被所述多個語句中的另一語句使用的選擇語句,將該選擇語句內聯到其使用語句。
15.根據權利要求14所述的計算機實施的方法,其中,所述查詢內聯包括:
識別僅被所述多個語句中的另一語句使用的多個選擇語句;和
將所識別的、僅被所述多個語句中的另一語句使用的多個選擇語句中的每一個內聯到其使用語句。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于SAP歐洲公司,未經SAP歐洲公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910432941.5/1.html,轉載請聲明來源鉆瓜專利網。





