[發明專利]基于分布式數據庫的查詢方法及裝置有效
| 申請號: | 201910853314.9 | 申請日: | 2019-09-10 |
| 公開(公告)號: | CN110489446B | 公開(公告)日: | 2022-05-24 |
| 發明(設計)人: | 董隆超;孔令雷;周偉;張嬌嬌 | 申請(專利權)人: | 北京東方國信科技股份有限公司 |
| 主分類號: | G06F16/2453 | 分類號: | G06F16/2453;G06F16/27 |
| 代理公司: | 北京路浩知識產權代理有限公司 11002 | 代理人: | 張睿 |
| 地址: | 100102 北京市朝*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 分布式 數據庫 查詢 方法 裝置 | ||
1.一種基于分布式數據庫的查詢方法,其特征在于,包括:
對于包括若干個標量子查詢的原始SQL查詢語句,根據所述原始SQL查詢語句的解析樹,生成每一所述標量子查詢對應的子執行計劃和輔助執行代碼;
將各所述標量子查詢對應的子執行計劃和輔助執行代碼,分別發送至相應的參與節點,以使得所述參與節點根據接收的所述輔助執行代碼,獲取接收的所述子執行計劃和輔助執行代碼對應的標量子查詢的查詢結果,將包含所述對應的標量子查詢的外層SQL語句中的標量子查詢,替換為所述對應的標量子查詢的查詢結果,根據接收的所述子執行計劃,執行替換后的外層SQL語句,獲取包含所述對應的標量子查詢的外層SQL語句執行結果;
獲取包含標量子查詢的各外層SQL語句的執行結果,根據所述包含標量子查詢的各外層SQL語句的執行結果,獲取所述原始SQL查詢語句的執行結果;
其中,所述標量子查詢對應的子執行計劃,為用于執行包含所述標量子查詢的外層SQL語句的子執行計劃;所述標量子查詢對應的輔助執行代碼,用于獲取所述標量子查詢的查詢結果。
2.根據權利要求1所述的基于分布式數據庫的查詢方法,其特征在于,所述根據所述原始SQL查詢語句的解析樹,生成用于執行每一所述標量子查詢對應的子執行計劃和輔助執行代碼之前,還包括:
對所述原始SQL查詢語句進行語義解析,生成所述原始SQL查詢語句的解析樹。
3.根據權利要求2所述的基于分布式數據庫的查詢方法,其特征在于,所述對所述原始SQL查詢語句進行語義解析之前,還包括:
對所述原始SQL查詢語句進行語法檢查,確認所述原始SQL查詢語句不存在語法錯誤。
4.一種基于分布式數據庫的查詢方法,其特征在于,包括:
接收標量子查詢對應的子執行計劃和輔助執行代碼;
根據所述子執行計劃,執行包含所述標量子查詢的外層SQL語句,獲取所述外層SQL語句的執行結果;
所述根據所述子執行計劃,執行包含所述標量子查詢的外層SQL語句,獲取所述外層SQL語句的執行結果,具體包括:
根據所述輔助執行代碼,獲取所述標量子查詢的查詢結果;
將包含所述外層SQL語句中的所述標量子查詢,替換為所述標量子查詢的查詢結果;
根據所述子執行計劃,執行替換后的所述外層SQL語句,獲取所述外層SQL語句執行結果;
其中,所述標量子查詢對應的子執行計劃,為用于執行包含標量子查詢的外層SQL語句的子執行計劃;所述標量子查詢的查詢結果,是根據所述輔助執行代碼生成的。
5.根據權利要求4所述的基于分布式數據庫的查詢方法,其特征在于,所述接收標量子查詢對應的子執行計劃和輔助執行代碼,與所述獲取所述外層SQL語句的執行結果之間,還包括:
解析包含所述標量子查詢的外層SQL語句的解析樹,將所述標量子查詢對應的輔助執行代碼掛載至內存中的指定位置。
6.根據權利要求5所述的基于分布式數據庫的查詢方法,其特征在于,所述根據所述子執行計劃,執行包含所述標量子查詢的外層SQL語句的具體步驟包括:
執行輔助執行代碼,獲取所述標量子查詢的查詢結果,將所述標量子查詢的查詢結果存儲于所述指定位置;
根據所述子執行計劃,執行所述外層SQL語句,若判斷獲知需要獲取所述標量子查詢的查詢結果,則從所述指定位置獲取所述標量子查詢的查詢結果;
將所述外層SQL語句包含的所述標量子查詢替換為所述標量子查詢的查詢結果,繼續執行替換后的所述外層SQL語句。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京東方國信科技股份有限公司,未經北京東方國信科技股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910853314.9/1.html,轉載請聲明來源鉆瓜專利網。





