[發明專利]SQL優化方法、裝置、電子設備及可讀存儲介質有效
| 申請號: | 201910266901.8 | 申請日: | 2019-04-03 |
| 公開(公告)號: | CN110119403B | 公開(公告)日: | 2020-08-18 |
| 發明(設計)人: | 楊軒;魏建鐘;劉強 | 申請(專利權)人: | 北京三快在線科技有限公司 |
| 主分類號: | G06F16/242 | 分類號: | G06F16/242;G06F16/2453 |
| 代理公司: | 北京潤澤恒知識產權代理有限公司 11319 | 代理人: | 莎日娜 |
| 地址: | 100083 北京市海*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | sql 優化 方法 裝置 電子設備 可讀 存儲 介質 | ||
1.一種SQL優化方法,其特征在于,包括:
獲取已執行SQL的執行時長和第一原子指標數據,以及待執行的目標SQL的第二原子指標數據;
基于所述已執行SQL的執行時長和所述第一原子指標數據,獲取所述目標SQL的優化規則參數;
根據所述優化規則參數以及所述第二原子指標數據,生成所述目標SQL的優化策略;
其中,所述基于所述已執行SQL的執行時長和所述第一原子指標數據,獲取所述目標SQL的優化規則參數的步驟,包括:根據所述第一原子指標數據以及所述已執行SQL的執行時長,獲取所述目標SQL的時長預估參數;和/或,根據所述第一原子指標數據,確定所述目標SQL的優化匹配參數;
所述根據所述第一原子指標數據以及所述已執行SQL的執行時長,獲取所述目標SQL的時長預估參數的步驟,包括:
根據所述第一原子指標數據中包含的每個數據表的數據量和總查詢分區數,以及所述已執行SQL的執行時長,獲取每個所述數據表的單分區查詢時長;根據所述已執行SQL的執行時長,以及所述第一原子指標數據中的總關聯次數和總數據量,獲取所述已執行SQL的復雜度時長。
2.根據權利要求1所述的方法,其特征在于,所述根據所述已執行SQL的執行時長,以及所述第一原子指標數據中的總關聯次數和總數據量,獲取所述已執行SQL的復雜度時長的步驟,包括:
根據所述已執行SQL的執行時長、所述第一原子指標數據中的總關聯次數,以及預設的關聯權重,獲取所述已執行SQL的單次關聯時長;
根據所述已執行SQL的執行時長、所述第一原子指標數據中的總數據量,以及預設的查詢權重,獲取所述已執行SQL的萬條數據查詢時長;
根據所述單次關聯時長和所述萬條數據查詢時長,獲取所述已執行SQL的復雜度時長。
3.根據權利要求1所述的方法,其特征在于,所述根據所述第一原子指標數據,確定所述目標SQL的優化匹配參數的步驟,包括:
根據所述第一原子指標數據,獲取所述已執行SQL的歷史引用字段占比、歷史查詢分區,以及數據表的關聯次數和被引用字段的引用次數;
根據所述已執行SQL的歷史引用字段占比以及歷史查詢分區,獲取所述目標SQL的SQL優化參數,所述SQL優化參數包括歷史引用字段占比閾值,和/或歷史查詢分區閾值;
根據所述數據表的關聯次數和被引用字段的引用次數,以及預設的優化比例,獲取所述目標SQL的模型優化參數。
4.根據權利要求1所述的方法,其特征在于,所述根據所述優化規則參數以及所述第二原子指標數據,生成所述目標SQL的優化策略的步驟,包括:
根據所述時長預估參數,以及所述第二原子指標數據,獲取所述目標SQL的預估執行時長,并在所述目標SQL執行前提示所述預估執行時長;
和/或,根據所述優化匹配參數,以及所述第二原子指標數據,生成所述目標SQL的優化建議并顯示。
5.根據權利要求2所述的方法,其特征在于,所述根據所述時長預估參數,以及所述第二原子指標數據,獲取所述目標SQL的預估執行時長,并在所述目標SQL執行前提示所述預估執行時長的步驟,包括:
根據所述第一原子指標數據和所述第二原子指標數據,獲取所述目標SQL中被所述已執行SQL覆蓋的數據表的第一數量,以及所述目標SQL中包含的數據表的第二數量;
根據所述第一數量和所述第二數量,獲取所述目標SQL的時長預估系數;
根據所述單分區查詢時長、所述單次關聯時長以及所述時長預估系數,獲取所述目標SQL的預估執行時長,并在所述目標SQL執行前提示所述預估執行時長。
6.根據權利要求3所述的方法,其特征在于,所述根據所述優化匹配參數,以及所述第二原子指標數據,生成所述目標SQL的優化建議并顯示的步驟,包括:
根據所述第二原子指標數據,獲取所述目標SQL的引用字段占比以及查詢分區;
根據所述引用字段占比以及查詢分區,以及所述SQL優化參數,生成所述目標SQL的SQL優化建議;
根據所述模型優化參數,生成所述目標SQL的模型優化建議。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京三快在線科技有限公司,未經北京三快在線科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910266901.8/1.html,轉載請聲明來源鉆瓜專利網。





