[發明專利]一種SQL語句處理方法及裝置有效
| 申請號: | 201210361178.X | 申請日: | 2012-09-25 |
| 公開(公告)號: | CN102915344A | 公開(公告)日: | 2013-02-06 |
| 發明(設計)人: | 叢磊;王利俊;鄭志勇 | 申請(專利權)人: | 新浪網技術(中國)有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京同達信恒知識產權代理有限公司 11291 | 代理人: | 郭潤湘 |
| 地址: | 100080 北京市海淀*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 sql 語句 處理 方法 裝置 | ||
1.一種結構化查詢語言SQL語句處理方法,其特征在于,包括:
獲取請求進行數據庫處理操作的SQL語句;
對所述SQL語句進行結構分析,得到分析結果;
根據所述分析結果,確定按照所述SQL語句進行數據庫處理操作時所表征的基準行數,所述基準行數為進行數據庫處理操作時需要查詢的數據行數;
當確定的所述基準行數小于行數閾值時,確定按照所述SQL語句進行數據庫處理操作,否則,確定取消按照所述SQL語句進行數據庫處理操作。
2.如權利要求1所述的方法,其特征在于,在對所述SQL語句進行結構分析之前,還包括:
確定所述SQL語句為指定類型的SQL語句。
3.如權利要求1所述的方法,其特征在于,對所述SQL語句進行結構分析,具體包括:
當所述SQL語句為選擇類型語句時,按照與選擇類型語句對應的分析方式,對所述SQL語句進行結構分析;
當所述SQL語句為非選擇類型語句時,將所述SQL語句轉換為選擇類型語句,按照與選擇類型語句對應的分析方式,對轉換后的SQL語句進行結構分析。
4.如權利要求1所述的方法,其特征在于,對所述SQL語句進行結構分析,得到分析結果,具體包括:
對所述SQL語句進行結構分析,確定所述SQL語句包括的各子語句塊的類型,以及所述各子語句塊表征的基準行數,以及所述SQL語句中是否包括限制參數,以及所述SQL語句中是否包括外排序參數,以及所述SQL語句中是否包括索引參數。
5.如權利要求4所述的方法,其特征在于,根據所述分析結果,確定按照所述SQL語句進行數據庫處理操作時所表征的基準行數,具體包括:
按照所述SQL語句所包括的各子語句塊從前到后的順序,對所述各子語句塊進行分組,其中,每個分組中的第一個子語句塊的類型為簡單類型或者原始類型,且每個分組中除第一個子語句塊外不包括簡單類型和原始類型的子語句塊;
針對每個分組包括的各子語句塊的類型和表征的基準行數,采用如下步驟確定該分組表征的基準行數:
按照該分組包括的各子語句塊的先后順序,從該分組中第二個子語句塊開始,依次確定每個子語句塊對應的中間基準行數,并將該分組中最后一個子語句塊對應的中間基準行數作為該分組表征的基準行數,其中,當子語句塊的類型為聯合類型或依賴聯合類型時,該子語句塊對應的中間基準行數為前一個子語句塊對應的中間基準行數和該子語句塊表征的基準行數的乘積,當子語句塊的類型為子查詢類型、依賴子查詢類型或派生類型時,該子語句塊對應的中間基準行數為前一個子語句塊對應的中間基準行數和該子語句塊表征的基準行數中的最小值,該分組中的第一個子語句塊對應的中間基準行數為第一個子語句塊表征的基準行數;
確定各分組表征的基準行數的和值;
根據所述SQL語句中是否包括限制參數,以及是否包括外排序參數,對所述和值進行加減修正,得到第一修正值;
根據所述SQL語句中是否包括索引參數,對所述第一修正值進行倍數修正,得到所述SQL語句進行數據庫處理操作時所表征的基準行數。
6.如權利要求4所述的方法,其特征在于,在確定按照所述SQL語句進行數據庫處理操作時所表征的基準行數之前,還包括:
確定所述SQL語句中不包括限制參數,以及所述SQL語句中包括外排序參數。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于新浪網技術(中國)有限公司,未經新浪網技術(中國)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210361178.X/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:終端及其控制方法
- 下一篇:用于檢測多階段事件的方法和設備





