[發明專利]一種數據庫查詢方法、裝置、服務器和存儲介質有效
| 申請號: | 201810493634.3 | 申請日: | 2018-05-22 |
| 公開(公告)號: | CN108804554B | 公開(公告)日: | 2021-03-05 |
| 發明(設計)人: | 張欽;朱仲穎;萬偉 | 申請(專利權)人: | 上海達夢數據庫有限公司 |
| 主分類號: | G06F16/242 | 分類號: | G06F16/242;G06F16/2453;G06F16/2455 |
| 代理公司: | 北京品源專利代理有限公司 11332 | 代理人: | 孟金喆 |
| 地址: | 201203 上海*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 數據庫 查詢 方法 裝置 服務器 存儲 介質 | ||
本發明公開了一種數據庫查詢方法、裝置、服務器和存儲介質,該方法包括:接收SQL語句,并對SQL語句進行語法識別獲取SQL語句所包含的過濾條件;在該過濾條件滿足預設過濾條件并且該過濾條件限定于單表上時,獲取過濾條件的過濾值;確定包括常量或常量表達式的過濾值為目標過濾值,并創建與目標過濾值相對應的常量表操作符;基于該常量表操作符生成執行計劃樹,并結合目標過濾值執行該執行計劃樹。采用上述技術方案優化了數據庫的查詢方法,提高了數據庫的查詢效率,增強了用戶的使用體驗。
技術領域
本發明實施例涉及數據處理技術領域,尤其涉及一種數據庫查詢方法、裝置、服務器和存儲介質。
背景技術
數據庫是按照數據結構來組織、存儲和管理數據的建立在計算機存儲設備上的倉庫。隨著大數據時代的到來,數據庫經常需要在海量數據中選出滿足特定需求的數據來完成查詢操作。
現有技術中,在采用結構化查詢語言(Structured Query Language,SQL)對關系數據庫進行數據的查詢操作時,常常會采用指定范圍(IN)布爾表達式形成的IN過濾條件進行查詢或者采用邏輯或(OR)布爾表達式形成的OR過濾條件進行查詢。
然而,在數據庫管理系統中,上述兩種布爾表達式的處理方式都是由單獨的指令對數據表中的記錄進行逐一判斷,采用上述任意一種處理方式對數據進行處理的效率較低。
發明內容
本發明提供了一種數據庫查詢方法、裝置、服務器和存儲介質,以實現在采用IN過濾條件或者OR過濾條件進行數據查詢時,能夠提高數據查詢效率。
第一方面,本發明實施例提供了一種數據庫查詢方法,該方法包括:
接收SQL語句,并對所述SQL語句進行語法識別,獲取所述SQL語句中的過濾條件;
若所述過濾條件滿足預設過濾條件并且所述過濾條件限定于單表上,則獲取所述過濾條件的過濾值;其中,預設過濾條件包括指定范圍過濾條件或者邏輯或過濾條件;
確定包括常量或常量表達式的過濾值為目標過濾值,并創建與所述目標過濾值相對應的常量表操作符;
基于所述常量表操作符生成執行計劃樹,并結合所述目標過濾值執行所述執行計劃樹。
第二方面,本發明實施例還提供了一種數據庫查詢裝置,該裝置包括:
過濾條件獲取模塊,用于接收SQL語句,并對所述SQL語句進行語法識別,獲取所述SQL語句中的過濾條件;
過濾值獲取模塊,用于在所述過濾條件滿足預設過濾條件并且所述過濾條件限定于單表上時,獲取所述過濾條件的過濾值;其中,預設過濾條件包括指定范圍過濾條件或者邏輯或過濾條件;
操作符創建模塊,用于確定包括常量或常量表達式的過濾值為目標過濾值,并創建與所述目標過濾值相對應的常量表操作符;
計劃樹執行模塊,用于基于所述常量表操作符生成執行計劃樹,并結合所述目標過濾值執行所述執行計劃樹。
第三方面,本發明實施例還提供了一種服務器,包括輸入裝置,該服務器還包括:
一個或多個處理器;
存儲裝置,用于存儲一個或多個程序;
所述一個或多個程序被所述一個或多個處理器執行,使得所述一個或多個處理器實現本發明任一實施例所提供的一種數據庫查詢方法。
第四方面,本發明實施例還提供了一種計算機可讀存儲介質,其上存儲有計算機程序,該程序被處理器執行時實現本發明任一實施例所提供的一種數據庫查詢方法。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海達夢數據庫有限公司,未經上海達夢數據庫有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810493634.3/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:打印文檔搜索方法和裝置
- 下一篇:協議展示方法、裝置和電子設備





