[發明專利]一種SQL語句的處理方法、裝置、服務器及存儲介質有效
| 申請號: | 201810049711.6 | 申請日: | 2018-01-18 |
| 公開(公告)號: | CN108304505B | 公開(公告)日: | 2020-09-11 |
| 發明(設計)人: | 萬偉;耿慧玲 | 申請(專利權)人: | 上海達夢數據庫有限公司 |
| 主分類號: | G06F16/242 | 分類號: | G06F16/242 |
| 代理公司: | 北京品源專利代理有限公司 11332 | 代理人: | 孟金喆 |
| 地址: | 201203 上海*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 sql 語句 處理 方法 裝置 服務器 存儲 介質 | ||
本發明實施例公開了一種SQL語句的處理方法、裝置、服務器及存儲介質。該方法包括:判斷SQL語句是否滿足預設的優化條件;如果滿足所述預設的優化條件,則刪除所述SQL語句中的分組子句;若所述SQL語句中的查詢項或排序項中有聚集函數,將所述SQL語句中的聚集函數等價改寫為常量或列。本發明實施例提供的技術方案,通過對滿足預設的優化條件的SQL語句刪除其中的分組子句,并對該語句中的聚集函數進行等價改寫,即可實現跳過現有的計算分組的復雜過程,達到分組的效果,從而提升了整體的運行效率。
技術領域
本發明涉及計算機技術領域,尤其涉及一種SQL語句的處理方法、裝置、服務器及存儲介質。
背景技術
近年來隨著計算機及數據庫的發展,SQL(Structure Query Languge,結構化查詢語言)一種數據庫專用的計算機編程語言得到了廣泛使用,成為了最重要也是最常用的關系數據庫操作語言。其中,分組子句是SQL標準中用于對數據進行分組處理的子句。
在當前通用的數據庫技術中,為了實現一個包含分組子句的SQL查詢語句,不管語句所對應的表結構和數據特征,都需要將表中的數據取出來,按照分組子句指定的分組項來計算分組,導致整體的效率低下。
發明內容
本發明實施例提供一種SQL語句的處理方法、裝置、服務器及存儲介質,可實現跳過現有的計算分組的復雜過程,達到分組的效果,從而提升了整體的運行效率。
第一方面,本發明實施例提供了一種SQL語句的處理方法,該方法包括:
判斷SQL語句是否滿足預設的優化條件;
如果滿足所述預設的優化條件,則刪除所述SQL語句中的分組子句;
若所述SQL語句中的查詢項或排序項中有聚集函數,將所述SQL語句中的聚集函數等價改寫為常量或列。
第二方面,本發明實施例還提供了一種SQL語句的處理裝置,該裝置包括:
判斷模塊,用于判斷SQL語句是否滿足預設的優化條件;
刪除模塊,用于如果滿足所述預設的優化條件,則刪除所述SQL語句中的分組子句;
改寫模塊,用于若所述SQL語句中的查詢項或排序項中有聚集函數,將所述SQL語句中的聚集函數等價改寫為常量或列。
第三方面,本發明實施例還提供了一種服務器,該服務器包括:
一個或多個處理器;
存儲裝置,用于存儲一個或多個程序;
當所述一個或多個程序被所述一個或多個處理器執行,使得所述一個或多個處理器實現第一方面中任意所述的SQL語句的處理方法。
第四方面,本發明實施例還提供了一種計算機可讀存儲介質,其上存儲有計算機程序,該程序被處理器執行時實現第一方面中任一所述的SQL語句的處理方法。
本發明實施例提供的一種SQL語句的處理方法、裝置、服務器及存儲介質,通過對滿足預設的優化條件的SQL語句刪除其中的分組子句,并對該語句中的聚集函數進行等價改寫,即可實現跳過現有的計算分組的復雜過程,達到分組的效果,從而提升了整體的運行效率。
附圖說明
通過閱讀參照以下附圖所作的對非限制性實施例所作的詳細描述,本發明的其它特征、目的和優點將會變得更明顯:
圖1是本發明實施例一中提供的一種SQL語句的處理方法的流程圖;
圖2是本發明實施例二中提供的一種SQL語句的處理裝置的結構框圖;
圖3是本發明實施例三中提供的一種服務器的結構示意圖。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海達夢數據庫有限公司,未經上海達夢數據庫有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810049711.6/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種用戶在線狀態快速查詢方法及系統
- 下一篇:檢索方法、裝置及設備





