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





