[發明專利]數據庫查詢系統和方法有效
| 申請號: | 201680056094.1 | 申請日: | 2016-09-20 |
| 公開(公告)號: | CN108027838B | 公開(公告)日: | 2020-12-08 |
| 發明(設計)人: | 朱成;丁永華;張國根 | 申請(專利權)人: | 華為技術有限公司 |
| 主分類號: | G06F16/2453 | 分類號: | G06F16/2453;G06F16/25 |
| 代理公司: | 北京三高永信知識產權代理有限責任公司 11138 | 代理人: | 顏晶 |
| 地址: | 廣東省深圳市*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 數據庫 查詢 系統 方法 | ||
1.一種數據庫查詢方法,其特征在于,包括:
數據庫系統接收查詢;
根據所述查詢形成運行時計劃樹,所述運行時計劃樹包括多個函數節點,所述多個函數節點對應于用于執行所述查詢的函數;
遍歷所述運行時計劃樹,包括:
確定所述運行時計劃樹的函數節點是否支持代碼生成以及即時編譯;
在確定所述函數節點支持代碼生成以及即時編譯時:
根據所述函數節點的函數生成字符串鍵;
確定所述字符串鍵對應的編譯對象是否存儲在編譯對象緩存中,所述編譯對象緩存包括與多個已編譯的函數相對應的多個編譯對象,每個編譯對象與一個字符串鍵相關聯,所述每個編譯對象重復用于執行包含相同函數的查詢;
執行所述查詢,若所述字符串鍵對應的編譯對象存儲在所述編譯對象緩存中,則通過所述字符串鍵對應的編譯對象來執行所述函數節點的函數。
2.根據權利要求1所述的方法,其特征在于,還包括:在遍歷所述運行時計劃樹之后進行運行時執行。
3.根據權利要求1所述的方法,其特征在于,所述確定所述運行時計劃樹的函數節點是否支持代碼生成以及即時編譯,包括:進行中央處理器性能分析。
4.根據權利要求1至3中任一項所述的方法,其特征在于,還包括:確定所述運行時計劃樹的初始化是否完成。
5.根據權利要求4所述的方法,其特征在于,還包括:在確定所述運行時計劃樹的初始化完成時進行運行時執行。
6.根據權利要求1所述的方法,其特征在于,所述遍歷所述運行時計劃樹還包括:在確定所述字符串鍵對應的編譯對象在所述編譯對象緩存中時:
根據所述字符串鍵從所述編譯對象緩存中檢索所述編譯對象;
設置所述編譯對象的函數指針。
7.根據權利要求6所述的方法,其特征在于,所述遍歷所述運行時計劃樹還包括:在確定所述編譯對象在所述編譯對象緩存中時:
重新映射所述編譯對象的符號;
重新定位所述編譯對象的符號的地址。
8.根據權利要求1所述的方法,其特征在于,所述遍歷所述運行時計劃樹還包括:在確定所述編譯對象不在所述編譯對象緩存中時,根據所述函數節點的函數生成底層虛擬機中間表示格式函數。
9.根據權利要求8所述的方法,其特征在于,所述遍歷所述運行時計劃樹還包括:對所述底層虛擬機中間表示格式函數進行機器代碼即時編譯以生成編譯對象;
將所述編譯對象存儲在所述編譯對象緩存中。
10.根據權利要求9所述的方法,其特征在于,所述遍歷所述運行時計劃樹還包括:設置所述編譯對象緩存中所述編譯對象的函數指針。
11.根據權利要求9所述的方法,其特征在于,所述對所述底層虛擬機中間表示格式函數進行機器代碼即時編譯包括:對包括與所述查詢相對應的查詢計劃的多個片段的一組函數進行編譯。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華為技術有限公司,未經華為技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201680056094.1/1.html,轉載請聲明來源鉆瓜專利網。





