[發明專利]數據查詢方法、裝置、設備及存儲介質有效
| 申請號: | 202110873375.9 | 申請日: | 2021-07-30 |
| 公開(公告)號: | CN113535756B | 公開(公告)日: | 2023-05-30 |
| 發明(設計)人: | 孟正凌;朱仲穎;韓朱忠 | 申請(專利權)人: | 上海達夢數據庫有限公司 |
| 主分類號: | G06F16/242 | 分類號: | G06F16/242;G06F16/2453;G06F16/22 |
| 代理公司: | 北京品源專利代理有限公司 11332 | 代理人: | 馬迪 |
| 地址: | 201203 上海*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 數據 查詢 方法 裝置 設備 存儲 介質 | ||
本發明實施例公開了一種數據查詢方法、裝置、設備及存儲介質,該方法包括若用戶輸入的查詢語句為多表連接查詢語句且滿足設定條件;根據查詢項將多個數據表劃分為第一數據表集合以及第二數據表集合;其中,第一數據表集合中的數據表與查詢項直接或者間接相關;第二數據表集合中的數據表與查詢項不相關;將第二數據表集合中的數據表信息從查詢語句中移除,并根據第二數據表集合生成補充條件;將補充條件與移除數據表的查詢語句進行拼接,形成新的查詢語句;基于新的查詢語句進行數據查詢。利用該方法,將補充條件與移除數據表的查詢語句進行拼接,通過對查詢語句進行優化改寫,消除其中的冗余表,可以減少中間結果集的產生,從而提高查詢的效率。
技術領域
本發明實施例涉及數據庫技術領域,尤其涉及一種數據查詢方法、裝置、設備及存儲介質。
背景技術
當查詢語句(如:結構化查詢語言(Structured?Query?Language,SQL))中涉及兩個及兩個以上的數據表時,就需要對這些數據表進行連接查詢。多表連接查詢有可能產生比較龐大的中間結果集,從而影響查詢效率。
發明內容
本發明實施例提供一種數據查詢方法、裝置、設備及存儲介質,通過對查詢語句進行改寫,可以減少中間結果集的產生,從而提高查詢效率。
第一方面,本發明實施例提供了一種數據查詢方法,該方法包括:
若用戶輸入的查詢語句為多表連接查詢語句且滿足設定條件;其中,所述設定條件包括:攜帶有設定關鍵字以及不包含集函數;且所述查詢語句中包含有多個數據表信息;
根據查詢項將所述多個數據表劃分為第一數據表集合以及第二數據表集合;其中,所述第一數據表集合中的數據表與所述查詢項直接或者間接相關;所述第二數據表集合中的數據表與所述查詢項不相關;
將所述第二數據表集合中的數據表信息從所述查詢語句中移除,并根據所述第二數據表集合生成補充條件;
將所述補充條件與移除數據表的查詢語句進行拼接,形成新的查詢語句;
基于所述新的查詢語句進行數據查詢。
第二方面,本發明實施例還提供了一種數據查詢裝置,該裝置包括:
查詢語句判定模塊,用于判定用戶輸入的查詢語句是否為多表連接查詢語句且滿足設定條件;其中,所述設定條件包括:攜帶有設定關鍵字以及不包含集函數;且所述查詢語句中包含有多個數據表信息;
數據表劃分模塊,用于當用戶輸入的查詢語句為多表連接查詢語句且滿足設定條件時,根據查詢項將所述多個數據表劃分為第一數據表集合以及第二數據表集合;其中,所述第一數據表集合中的數據表與所述查詢項直接或者間接相關;所述第二數據表集合中的數據表與所述查詢項不相關;
數據表信息移除模塊,用于將所述第二數據表集合中的數據表信息從所述查詢語句中移除,并根據所述第二數據表集合生成補充條件;
查詢語句拼接模塊,用于將所述補充條件與移除數據表的查詢語句進行拼接,形成新的查詢語句;
數據查詢模塊,用于基于所述新的查詢語句進行數據查詢。
第三方面,本發明實施例還提供了一種計算機設備,包括:存儲器以及一個或多個處理器;
所述存儲器,用于存儲一個或多個程序;
當所述一個或多個程序被所述一個或多個處理器執行,使得所述一個或多個處理器實現如上述第一方面所述的數據查詢方法。
第四方面,本發明實施例還提供了一種包含計算機可執行指令的存儲介質,所述計算機可執行指令在由計算機處理器執行時用于執行如上述第一方面所述的數據查詢方法。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海達夢數據庫有限公司,未經上海達夢數據庫有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110873375.9/2.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





