[發明專利]基于甲骨文In-Memory的SQL語句調優方法有效
| 申請號: | 201710980293.8 | 申請日: | 2017-10-19 |
| 公開(公告)號: | CN107729496B | 公開(公告)日: | 2018-08-28 |
| 發明(設計)人: | 杜偉業;江華 | 申請(專利權)人: | 珠海圖思科軟件有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京市盛峰律師事務所 11337 | 代理人: | 梁艷 |
| 地址: | 519085 廣東省珠海市高新*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 甲骨文 in memory sql 語句 方法 | ||
1.一種基于甲骨文In-Memory的SQL語句調優方法,其特征在于,包括如下步驟:
S1,從一條或者多條原始SQL語句中獲取其包含的所有或者部分數據庫對象,所述數據庫對象包括表、物化視圖和/或視圖的基表,重復的所述數據庫對象只保留一個;
S2,對S1獲取到的所述數據庫對象,根據平衡搜索算法,按照包含的數據庫對象數量遞增的順序產生一系列的數據庫對象組合,所述數據庫對象數量為:1,2,3,……N,N為獲取到的所有的數據庫對象的數量;
S3,對于S2產生的每個所述數據庫對象組合,在原始SQL語句中為組合中的數據庫對象添加相應的數據庫優化器提示。
2.根據權利要求1所述的基于甲骨文In-Memory的SQL語句調優方法,其特征在于,S2中,所述平衡搜索算法包括如下步驟:
A1,創建隊列Q[1],將T[1]…T[N]放入隊列Q[1],輸出T[1]…T[N],然后,從隊列Q[1]中刪除T[N],在隊列Q[1]中保留T[1]…T[N-1];
A2,X=2;
A3,創建隊列Q[X];如果隊列Q[X-1]非空,執行如下步驟:
A301,從Q[X-1]中取出一個組合C1;
A302,如果組合C1的數據庫對象個數小于X,向組合C1添加一個數據庫對象,形成新的組合C2;否則將組合C1中編號最大的數據庫對象替換掉,形成新的組合C2;
A303,如果組合C2中不包含數據庫對象T[N],將組合C2放入隊列Q[X-1]和Q[X];
A304,輸出組合C2;
A305,如果隊列Q[X-1]為非空,跳轉到步驟A301;
A306,如果隊列Q[X-1]為空,跳轉到步驟A4;
A4,將X加1;如果X>N,算法結束;否則,跳轉到A3;
其中,T[1]…T[K-1],T[K]代表SQL語句中的候選數據庫對象,K≤N,K為數據庫對象的編號,代表SQL語句中第幾個表,T[1]簡寫成T1,T[2]簡寫成T2,以此類推;
Q[1]…Q[X-1],Q[X]代表隊列,X代表第X個隊列并且該隊列的元素是X個數據庫對象的組合,其中1<=X<=N,Q[1]簡寫成Q1,Q[2]簡寫成Q2,以此類推。
3.根據權利要求1所述的基于甲骨文In-Memory的SQL語句調優方法,其特征在于,S3中,在原始SQL語句中,按照組合中包含的數據庫對象數量遞增的順序為所有組合中的數據庫對象添加相應的數據庫優化器提示。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于珠海圖思科軟件有限公司,未經珠海圖思科軟件有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710980293.8/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種輻射劑量儀
- 下一篇:便攜式伽馬射線檢測系統及檢測方法





