[發明專利]一種數據庫執行計劃的局部修正方法有效
| 申請號: | 201410206908.8 | 申請日: | 2014-05-16 |
| 公開(公告)號: | CN103984726B | 公開(公告)日: | 2017-03-29 |
| 發明(設計)人: | 程永新;宋輝;孫玉穎 | 申請(專利權)人: | 上海新炬網絡信息技術有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 上海科律專利代理事務所(特殊普通合伙)31290 | 代理人: | 金碎平 |
| 地址: | 200063 上海市普*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 數據庫 執行 計劃 局部 修正 方法 | ||
1.一種數據庫執行計劃的局部修正方法,其特征在于,包括如下步驟:
a)通過任務調度層定義采集任務、任務調度頻率及啟用時間點,并定時連接到目標數據庫;
b)通過所述采集任務定位高頻次SQL及其涉及的相關數據表,并提取高頻次SQL執行信息及相關數據表的統計信息保存至歷史信息采集庫;
c)當異常等待事件超過預設閾值時,對問題會話上的SQL及其涉及的相關數據表進行拆分,每個數據表通過匹配歷史信息采集庫,選擇該數據表上的歷史執行計劃,對現有執行計劃進行局部修正。
2.如權利要求1所述的數據庫執行計劃的局部修正方法,其特征在于,所述步驟b)中提取高頻次SQL執行信息及相關數據表的統計信息的過程如下:
b1)獲取預設頻次閥值,從數據庫動態性能視圖中得到超過該頻次閥值的SQL;
b2)通過SQL_ID提取SQL文本,并獲取SQL中相關數據表;
b3)通過數據表名得到各數據表的統計信息;
b4)通過SQL_ID得到當前SQL執行計劃的Outline信息,并按照各數據表進行拆分,得到各數據表當前訪問方式。
3.如權利要求2所述的數據庫執行計劃的局部修正方法,其特征在于,所述步驟c)中匹配過程如下:
c1)從SQL中獲取所有關聯數據表,確定數據表之間的關聯方式,并計算兩表的關聯匹配度;
c2)繼續確定已匹配關聯表的訪問方式是否相同;
c3)所述SQL中所有關聯數據表除去已匹配表為目前待匹配的剩余表,對所述剩余表再進行單表匹配度計算;
c4)最后確定已匹配單表的訪問方式是否相同。
4.如權利要求3所述的數據庫執行計劃的局部修正方法,其特征在于,所述數據表的訪問方式包括全表掃描方式或者索引掃描方式,所述索引掃描方式包括唯一索引掃描、范圍索引掃描、跳躍索引掃描、索引全掃描以及索引快速掃描。
5.如權利要求3所述的數據庫執行計劃的局部修正方法,其特征在于,所述SQL中所有關聯數據表包括嵌套循環關聯表、哈希關聯表以及歸并關聯表。
6.如權利要求3所述的數據庫執行計劃的局部修正方法,其特征在于,所述單表匹配度M1計算如下:M1=abs(A-A1)/A;其中,A為當前數據量,A1為歷史數據量;如果所述單表匹配度M1小于預設閾值,則確定該數據表為已匹配單表。
7.如權利要求3所述的數據庫執行計劃的局部修正方法,其特征在于,所述兩表的關聯匹配度M2計算如下:M2=(abs(A-A1)/A)+(abs(B-B1)/B);其中,A為第一數據表當前數據量,A1為第一數據表歷史數據量,B為第二數據表當前數據量,B1為第二數據表歷史數據量;如果所述兩表的匹配度M2小于預設閾值,則確定所述兩個數據表為已匹配關聯表。
8.如權利要求6或7所述的數據庫執行計劃的局部修正方法,其特征在于,所述預設閾值為0.1。
9.如權利要求3所述的數據庫執行計劃的局部修正方法,其特征在于,所述問題會話上的SQL及其涉及的相關數據表的獲取如下:首先進行數據庫當前熱點塊定位,接著通過系統視圖定位到熱點表和熱點索引,再將熱點索引轉換為對應的表,結合熱點表得到問題會話上的SQL涉及的所有相關數據表。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海新炬網絡信息技術有限公司,未經上海新炬網絡信息技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410206908.8/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種鋼板超聲波人工檢測用探頭支架
- 下一篇:瓊脂糖凝膠制膠器





