[發明專利]用于數據庫查詢優化的方法和系統有效
| 申請號: | 201210092036.8 | 申請日: | 2012-03-30 |
| 公開(公告)號: | CN103365885A | 公開(公告)日: | 2013-10-23 |
| 發明(設計)人: | 楊新穎;劉沭華;陳東升;鄭淼 | 申請(專利權)人: | 國際商業機器公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 中國國際貿易促進委員會專利商標事務所 11038 | 代理人: | 劉倜 |
| 地址: | 美國*** | 國省代碼: | 美國;US |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 用于 數據庫 查詢 優化 方法 系統 | ||
技術領域
本發明總體上涉及用于數據庫的方法和系統,特別涉及用于數據庫查詢優化的方法和系統。
背景技術
現今,主流的數據庫系統提供了關系數據服務(RDS)。RDS處理過程對數據庫查詢語句(以下簡稱查詢語句)進行解析(parse),并根據解析進行查詢語句語義變換(QST)。在此,還對查詢語句進行重寫(rewrite)。然后,RDS處理過程根據QST處理的查詢進行訪問路徑選擇(即,APS估算),并生成訪問路徑描述語言(Access?Specific?Language),以供執行結構產生器來生成執行結構。數據庫引擎(或其執行模塊)將根據該執行結構執行該查詢以獲得查詢結果。
現有技術中提供了一些針對簡單謂詞查詢的重寫技術,例如謂詞再分布技術、實時統計改進(refine)技術、以及利用UNION,IN等的重寫技術等,然而其或是針對簡單謂詞查詢或是不涉及謂詞處理,而皆未考慮對復雜謂詞的重寫優化。
在此,將謂詞其中以順序包含自變量、操作關系運算符或邏輯運算符、連接常量且所述自變量不包含函數、表達式、或分句的謂詞稱作簡單謂詞。而將其他類謂詞稱作復雜謂詞,例如,復雜謂詞可以包含變量、函數、表達式、分句等等。在數據庫語言中,所述關系運算符或邏輯運算符可以包括“=”、“>”、“>=”、“<”、“<=”、“NOT”、“IN”、“LIKE”、“BETWEEN”等。典型的簡單謂詞的例子可以包括但不限于:
COL?op?value
COL?IS?NULL
COL?IS?NOT?NULL
COL?BETWEEN?value1?AND?value2
COL<>value
COL?NOT?BETWEEN?value1?AND?value2
等等,其中,op表示“=”、“>”、“>=”、“<”、“<=”,value、value1、value2為常量。
并且,現有技術在某類或者某個或某些查詢語句被以較大幾率重復執行(例如,不在緩存池中)時,其執行效率將是不理想的。特別是,在這些語句中具有相同的主干而例如僅部分謂詞不同時,現有技術的方案將是效率較差的。
至少針對現有技術中的至少部分上述問題,提出了本發明。
發明內容
本發明的一個實施例的目的在于提供一種用于數據庫查詢優化的方法,包括以下步驟:(a)從查詢語句提取復雜謂詞,所述查詢語句包括至少兩個復雜謂詞;(b)執行與所述查詢語句相關聯的查詢;(c)獲取每一復雜謂詞的相應的執行結構成本(ΔTi);(d)根據查詢的結果和所述執行結構成本(ΔTi)計算與復雜謂詞的每一排列對應的總體執行結構成本;以及(e)選擇具有最低總體執行結構成本的排列以用于數據庫查詢優化。
本發明的另一實施例的目的在于提供一種用于數據庫查詢優化的系統,包括:提取裝置,被配置用于從查詢語句提取復雜謂詞,所述查詢語句包括至少兩個復雜謂詞;執行裝置,被配置用于執行與所述查詢語句相關聯的查詢;執行結構成本獲取裝置,被配置用于獲取每一復雜謂詞的執行結構成本(ΔTi);計算裝置,被配置用于根據查詢的結果和所述執行結構成本(ΔTi)計算與復雜謂詞的每一排列對應的總體執行結構成本;以及選擇裝置,被配置用于選擇具有最低總體執行結構成本的排列以用于數據庫查詢優化的裝置。
根據本發明,可以在執行查詢時提供實時反饋信息。并且可以在數據引擎內部或外部收集實施反饋信息,從而提供了相當的靈活性。另外,本發明可以根據歷史反饋信息對查詢語句進行優化,增強了查詢語句重寫的靈活性,減小了查詢的響應時間。此外,本發明還提供了根據實時反饋的對查詢語句的重寫,而無需重新綁定。
附圖說明
以下通過結合附圖閱讀參考下述對說明性實施例的詳細描述,將更好地理解本發明本身、實施方式、其它目的及其優點。在附圖中:
圖1示出了根據本發明一個實施例的方法的流程圖;
圖2示出了用于說明根據本發明一個實施例的方法的一種更具體的實現方式的示例;
圖3示出了用于說明根據本發明一個實施例的方法的另一種更具體的實現方式的示例;
圖4示出了用于說明根據本發明實施例的復雜謂詞矩陣的示例;
圖5示出了用于說明根據本發明實施例的執行結構成本矢量;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于國際商業機器公司,未經國際商業機器公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210092036.8/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種暹羅鱷魚飼養繁殖池
- 下一篇:煙草育苗用移動式噴水車





