[發明專利]將列與函數關聯以優化查詢執行的方法和查詢優化服務器有效
| 申請號: | 201680004121.0 | 申請日: | 2016-02-02 |
| 公開(公告)號: | CN107004034B | 公開(公告)日: | 2021-01-29 |
| 發明(設計)人: | 迪尼普·庫馬爾;庫馬爾·拉吉夫·拉絲拓吉;尼雅瑪拉·斯瑞坎塔雅 | 申請(專利權)人: | 華為技術有限公司 |
| 主分類號: | G06F16/2455 | 分類號: | G06F16/2455;G06F16/2453 |
| 代理公司: | 北京三高永信知識產權代理有限責任公司 11138 | 代理人: | 顏晶 |
| 地址: | 518129 廣東*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 函數 關聯 優化 查詢 執行 方法 服務器 | ||
本發明涉及一種將列與函數關聯以優化查詢執行的方法。所述方法包括查詢優化服務器接收包含一個或多個列的信息以及所述一個或多個列的每個的函數信息的數據定義語句。所述查詢優化服務器將具有函數信息的列與對應的預定義函數相關聯并將其存儲在存儲器中。一旦接收到包含與列關聯的函數的查詢,所述查詢優化服務器就將該函數與存儲在存儲器中的預定義函數作對比。基于所述對比,所述查詢優化服務器從存儲器中訪問該預定義函數用于執行查詢。
技術領域
本發明大體上涉及數據庫管理系統,尤其是涉及一種將列與函數關聯以優化查詢執行的系統和方法。
背景技術
通常,數據庫中的數據使用查詢來訪問。查詢是一種特定語法的語句,指定要從數據庫中檢索的數據。查詢處理器通常用來處理查詢,識別執行查詢的最優計劃,以及從數據庫中檢索與查詢中指定的參數相匹配的數據。數據庫查詢和編程語言的一個示例為結構化查詢語言(Structured Query Language,SQL),用于存儲、檢索和查詢存儲在關系數據庫系統中的數據。
目前,與average、sum、max、min等數學函數相關聯的查詢是通過在運行時調用函數管理器來執行的。根據查詢中定義的每列數據類型,函數管理器在查詢執行期間,會提供如average函數、sum函數、maximum函數和minimum函數等相應的數學函數。考慮下面的查詢示例:
CREATE TABLE test(a int,b int,c varchar)--------------------(1)
SELECT AVG(a)FROM test WHERE b100--------------------(2)
在執行“Create”查詢時,數據庫中會建立一個具有三列的表,即列a、列b和列c。而對于執行“Select”查詢,函數管理器在運行時確定列的類型“a”為整數。因此,必須調用整數平均值(Avg)函數來執行該查詢。這就使得在執行過程中產生額外開銷來使用函數管理器調用相應的數學函數,而這又會反過來影響查詢執行的性能。
為了克服上述問題,預定義并存儲這些函數,以便在運行時它們能夠直接被訪問。但是,數學函數數目眾多,表中的列數目也將非常龐大。因此,預編譯和預定義函數的所有可能組合是非常困難的。
發明內容
本發明的目的在于,在執行運行期間,直接通過預定義并訪問函數來優化查詢執行,所述函數與查詢中提供的列相關聯。
本發明涉及一種將列與函數關聯以優化查詢執行的方法。該方法包括,查詢優化服務器接收包含一個或多個列的信息的定義語句,所述列用于建立表。一旦接收到所述定義語句,所述查詢優化服務器確定該定義語句中所述一個或多個列的每個是否存在一個或多個函數信息。如果該定義語句中提供了所述一個或多個函數信息,查詢優化服務器將具有所述一個或多個函數信息的所述一個或多個列的每個與對應的預定義函數相關聯,來優化查詢執行。
在一個實施例中,本發明提供了一種查詢優化服務器接收查詢語句的方法。所述查詢語句包括與一個或多個列相關聯的一個或多個函數,用于查詢數據庫。一旦接收到所述查詢語句,所述查詢優化服務器將存儲器中與所述一個或多個列相關聯的預定義函數,與和一個或多個列相關聯的一個或多個函數作對比。所述查詢優化服務器基于所述對比,從存儲器中訪問與一個或多個列相關聯的預定義函數,來執行所述查詢語句。
本發明提供一種查詢優化服務器,將列與函數關聯以優化查詢執行。所述查詢優化服務器包括接收模塊、確定模塊和關聯模塊。所述接收模塊從一個或多個客戶端設備接收包含一個或多個列的信息的定義語句,所述列用于建立表。所述接收模塊也接收查詢語句用于查詢數據庫。所述確定模塊在接收到定義語句后,確定該定義語句中所述一個或多個列的每個是否存在一個或多個函數信息。所述關聯模塊將具有所述一個或多個函數信息的所述一個或多個列的每個與對應的預定義函數相關聯,來優化查詢執行。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華為技術有限公司,未經華為技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201680004121.0/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:鎖扣式停車位管理系統
- 下一篇:一種利用無線通訊緊急預防汽車追尾報警器





