[發明專利]數據庫維護方法和裝置有效
| 申請號: | 202110514701.7 | 申請日: | 2021-05-12 |
| 公開(公告)號: | CN112988786B | 公開(公告)日: | 2022-04-05 |
| 發明(設計)人: | 周征;王若楠;段坤 | 申請(專利權)人: | 北京優炫軟件股份有限公司 |
| 主分類號: | G06F16/242 | 分類號: | G06F16/242;G06F16/22;G06F16/215 |
| 代理公司: | 北京鼎承知識產權代理有限公司 11551 | 代理人: | 顧可嘉;夏華棟 |
| 地址: | 100081 北京市海淀區學院南路*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 數據庫 維護 方法 裝置 | ||
1.一種數據庫維護方法,其特征在于,對于任一數據庫,所述方法包括:
歸一化處理所述數據庫中用戶使用的SQL語句,使同一類SQL語句中用戶自定義的變量轉換為特定值,從而使所述同一類SQL語句具有相同語法樹;
獲取歸一化處理后的SQL語句的執行時間;
獲取歸一化處理后的SQL語句中的低效SQL語句,所述低效SQL語句為執行時間最長的SQL語句,或者執行時間大于、等于或不小于第一參考閾值的SQL語句;
向用戶推送與所述低效SQL語句對應的改寫提示信息;
所述數據庫中或者與所述數據庫連接的設備中設置有改寫知識庫,所述改寫知識庫中存儲有用于改寫低效SQL語句的改寫規則;
所述向用戶推送與所述低效SQL語句對應的改寫提示信息,包括:獲取所述低效SQL語句的低效類型;根據所述低效SQL語句的低效類型,向用戶推送所述改寫提示信息,所述改寫提示信息包括與所述低效SQL語句的低效類型對應的改寫規則;
所述方法還包括:
在接收到用戶的改寫指令后,判斷所述改寫指令與所述改寫提示信息是否匹配;當所述改寫指令與所述改寫提示信息匹配時,根據所述改寫指令或者所述改寫提示信息中包括的改寫規則改寫所述低效SQL語句;當所述改寫指令與所述改寫提示信息不匹配時,根據所述改寫指令改寫所述低效SQL語句,且將所述改寫指令作為新的改寫規則存儲至所述改寫知識庫,所述低效SQL語句對應的改寫規則適用于所述低效SQL語句對應的同一類SQL語句。
2.根據權利要求1所述的數據庫維護方法,其特征在于,所述獲取歸一化處理后的SQL語句的執行時間,包括:
根據下式獲取歸一化處理后的SQL語句的執行時間;
式中,
3.根據權利要求1-2任一所述的數據庫維護方法,其特征在于,所述方法還包括:
判斷歸一化處理后的SQL語句查詢的列是否存在索引;
當所述列不存在索引時,為所述列建立索引,或者向用戶推送索引建立提示信息。
4.根據權利要求3所述的數據庫維護方法,其特征在于,所述方法包括:
當所述列存在索引時,計算每條所述索引的使用頻率;
當所述索引的使用頻率小于、等于或不大于第二參考閾值時,刪除所述索引,或者向用戶推送索引刪除提示信息。
5.根據權利要求3所述的數據庫維護方法,其特征在于,所述方法包括:
當所述列存在索引時,計算每條所述索引的使用頻率;
當所述索引的使用頻率小于、等于或不大于第二參考閾值時,判斷所述索引是否是必要索引,所述必要索引指用戶最近建立的索引或者用戶最近使用的索引;
當所述索引不是必要索引時,刪除所述索引,或者向用戶推送索引刪除提示信息。
6.根據權利要求5所述的數據庫維護方法,其特征在于,所述判斷所述索引是否是必要索引包括:
獲取所述索引的建立時間和/或最近使用時間;
當所述索引的建立時間與當前時間的差值小于、等于或不大于第三參考閾值時,確定所述索引為用戶最近建立的索引;
當所述索引的最近使用時間與當前時間的差值小于、等于或不大于第四參考閾值時,確定所述索引為用戶最近使用的索引。
7.根據權利要求1-2任一所述的數據庫維護方法,其特征在于,所述方法還包括:
獲取歸一化處理后的SQL語句對應的表的查詢記錄和修改數據;
若所述表存在查詢記錄且無修改數據,為所述表創建物化視圖,或者向用戶推送為所述表創建物化視圖的提示信息。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京優炫軟件股份有限公司,未經北京優炫軟件股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110514701.7/1.html,轉載請聲明來源鉆瓜專利網。





