[發明專利]一種數據庫預編譯查詢語句的執行方法有效
| 申請號: | 202110317694.1 | 申請日: | 2021-03-25 |
| 公開(公告)號: | CN113076332B | 公開(公告)日: | 2023-08-01 |
| 發明(設計)人: | 王斌;郭苗苗;王毅;楊曉春 | 申請(專利權)人: | 東北大學 |
| 主分類號: | G06F16/242 | 分類號: | G06F16/242;G06F16/2452;G06F16/2455 |
| 代理公司: | 沈陽東大知識產權代理有限公司 21109 | 代理人: | 梁焱 |
| 地址: | 110819 遼寧*** | 國省代碼: | 遼寧;21 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 數據庫 預編 查詢 語句 執行 方法 | ||
本發明公開了一種數據庫預編譯查詢語句的執行方法,屬于數據庫技術領域。收到用戶發送的預編譯查詢語句后,先分析占位符所對應的關系表屬性,獲得可能會生成不同執行計劃的參數值;再將參數值逐一代入占位符所在位置,提前生成執行計劃。當用戶傳入要查詢的參數值后,先計算該參數值所對應的選擇率,再從緩存中取出預編譯查詢語句和選擇率區間都對應的執行計劃,并將用戶傳入的參數值代入執行計劃。從而省略查詢優化模塊生成執行計劃的時間,降低查詢語句的執行時間,提高數據庫響應速度。另外,在每次得到用戶傳入的參數值后,先判斷是否達到了更新執行計劃的條件。滿足條件時,會重新生成預編譯查詢語句的執行計劃,以此保證執行計劃的有效性。
技術領域
本發明涉及數據庫技術領域,具體來說,涉及一種數據庫預編譯查詢語句的執行方法。
背景技術
數據庫系統是為適應數據處理的需要而發展起來的一種數據處理系統。通常情況下查詢語句在數據庫上的執行會經歷以下模塊:語法分析模塊、查詢預處理模塊、查詢優化模塊以及查詢執行模塊。但是在很多情況下,用戶會反復執行多次類似的查詢語句,這些查詢語句之間只有個別的參數值不同,例如如下兩條查詢語句:
查詢語句1:select*from?student?where?grade60;
查詢語句2:select*from?student?where?grade80;
容易看出,這兩條查詢查詢語句只有最后的參數值不同。如果數據庫每次在執行這些類似的查詢語句時,都需要完整地經歷上面四個模塊,將會極大地影響數據庫的執行效率。為此,數據庫引入了預編譯功能。所謂預編譯就是先將這些類似的查詢語句中不同的參數值(查詢語句1中的60和查詢語句2中的80)用占位符來代替。數據庫查詢語句中使用符號‘?’來表示占位符,將上述的語句中的參數值用占位符表示以后,查詢語句可以表示成如下形式:
select*from?student?where?grade?;
然后就可以將該語句提交給數據庫進行編譯處理,接下來用戶只需要輸入具體的參數值(例如輸入參數值60或80)就可以等待數據庫執行并獲取相應的結果。預編譯查詢語句的優勢在于一次編譯、多次運行,可以省略語法分析和查詢預處理模塊。收到用戶發送的預編譯查詢語句之后,數據庫只需等待用戶將占位符上對應的參數值傳入就可以繼續通過查詢優化模塊生成對應的執行計劃,進而通過查詢執行模塊得到對應的查詢結果。
盡管數據庫的預編譯功能能夠提高查詢語句的執行效率,但是這種方法還是會在一定程度上影響查詢語句的執行效率。那就是在等待參數值傳入的時間內,該功能并不會生成執行計劃。只有在接收到用戶傳入的參數值后,數據庫才會調用查詢優化模塊生成對應參數下的執行計劃,這就會造成時間資源上的浪費。
發明內容
針對上述現有技術存在的問題,本發明提出一種數據庫預編譯查詢語句的執行方法,旨在進一步提高查詢語句的執行效率,降低查詢語句的執行時間,提高數據庫的性能和響應速度。
本發明的技術方案是:
一種數據庫預編譯查詢語句的執行方法,包括如下步驟:
步驟1:獲取用戶輸入的預編譯查詢語句;
步驟2:將該預編譯查詢語句轉化為語法查詢樹;
步驟3:分析該預編譯查詢語句中占位符所對應的屬性,得到可能會生成不同執行計劃的參數值,并確定每一參數值所對應的選擇率;同時,初始化該預編譯查詢語句對應的執行計劃更新閾值;
步驟4:將從步驟3獲得的各參數值逐一代入到該預編譯查詢語句中,依次獲得與各參數值相對應的執行計劃,并根據各參數值所分別對應的選擇率劃分出與各執行計劃一一對應的選擇率區間;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于東北大學,未經東北大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110317694.1/2.html,轉載請聲明來源鉆瓜專利網。





