1.一種數(shù)據(jù)庫腳本運行異常檢測方法,其特征在于,包括:
解析數(shù)據(jù)庫腳本中的數(shù)據(jù)庫語句,得到關(guān)鍵字和運算符;
從預(yù)設(shè)復(fù)雜度評級表中分別獲取所述關(guān)鍵字和所述運算符對應(yīng)的響應(yīng)時長;
根據(jù)所述響應(yīng)時長計算得到所述數(shù)據(jù)庫語句的常規(guī)執(zhí)行時長;
比較所述數(shù)據(jù)庫語句的實際執(zhí)行時長和所述常規(guī)執(zhí)行時長,得到比較結(jié)果。
2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)庫腳本運行異常檢測方法,其特征在于,還包括:
預(yù)設(shè)索引記錄表;
若在所述預(yù)設(shè)索引記錄表中存在所述數(shù)據(jù)庫語句中涉及的數(shù)據(jù)表的索引,則所述常規(guī)執(zhí)行時長減少預(yù)設(shè)優(yōu)化時長。
3.根據(jù)權(quán)利要求1所述的數(shù)據(jù)庫腳本運行異常檢測方法,其特征在于,還包括:
預(yù)設(shè)數(shù)量級;
預(yù)設(shè)數(shù)據(jù)表響應(yīng)時長;所述預(yù)設(shè)數(shù)據(jù)表響應(yīng)時長為對數(shù)據(jù)量為所述預(yù)設(shè)數(shù)量級的數(shù)據(jù)表執(zhí)行數(shù)據(jù)庫簡單語句操作的響應(yīng)時長;
根據(jù)所述預(yù)設(shè)數(shù)量級、所述預(yù)設(shè)數(shù)據(jù)表響應(yīng)時長和所述數(shù)據(jù)庫語句中涉及的數(shù)據(jù)表的數(shù)量級,得到第一數(shù)據(jù)表響應(yīng)時長;
所述常規(guī)執(zhí)行時長增加所述第一數(shù)據(jù)表響應(yīng)時長。
4.根據(jù)權(quán)利要求1所述的數(shù)據(jù)庫腳本運行異常檢測方法,其特征在于,還包括:
解析數(shù)據(jù)庫腳本,得到嵌套語句;
解析所述嵌套語句為簡單語句集合。
5.根據(jù)權(quán)利要求1所述的數(shù)據(jù)庫腳本運行異常檢測方法,其特征在于,還包括:
若所述比較結(jié)果為實際執(zhí)行時長大于所述常規(guī)執(zhí)行時長,則推送數(shù)據(jù)庫腳本運行異常的提示消息;所述提示信息包括所述數(shù)據(jù)庫語句的位置信息、所述實際執(zhí)行時長和所述常規(guī)執(zhí)行時長。
6.根據(jù)權(quán)利要求1所述的數(shù)據(jù)庫腳本運行異常檢測方法,其特征在于,還包括:
根據(jù)所述比較結(jié)果將所述數(shù)據(jù)庫語句分為異常語句和無異常語句兩類,得到分類列表;
根據(jù)數(shù)據(jù)庫腳本中所述數(shù)據(jù)庫語句的常規(guī)執(zhí)行時長和實際執(zhí)行時長生成詳細(xì)列表;
根據(jù)所述分類列表和所述詳細(xì)列表自動生成數(shù)據(jù)庫腳本的運行報告。
7.一種數(shù)據(jù)庫腳本運行異常檢測系統(tǒng),其特征在于,包括:
第一解析模塊,用于解析數(shù)據(jù)庫腳本中的數(shù)據(jù)庫語句,得到關(guān)鍵字和運算符;
獲取模塊,用于從預(yù)設(shè)復(fù)雜度評級表中分別獲取所述關(guān)鍵字和所述運算符對應(yīng)的響應(yīng)時長;
第一計算模塊,用于根據(jù)所述響應(yīng)時長計算得到所述數(shù)據(jù)庫語句的常規(guī)執(zhí)行時長;
比較模塊,用于比較所述數(shù)據(jù)庫語句的實際執(zhí)行時長和所述常規(guī)執(zhí)行時長,得到比較結(jié)果。
8.根據(jù)權(quán)利要求7所述的數(shù)據(jù)庫腳本運行異常檢測系統(tǒng),其特征在于,還包括:
第一預(yù)設(shè)模塊,用于預(yù)設(shè)索引記錄表;
減模塊,用于若在所述預(yù)設(shè)索引記錄表中存在所述數(shù)據(jù)庫語句中涉及的數(shù)據(jù)表的索引,則所述常規(guī)執(zhí)行時長減少預(yù)設(shè)優(yōu)化時長;
第二預(yù)設(shè)模塊,用于預(yù)設(shè)數(shù)量級;
第三預(yù)設(shè)模塊,用于預(yù)設(shè)數(shù)據(jù)表響應(yīng)時長;所述預(yù)設(shè)數(shù)據(jù)表響應(yīng)時長為對數(shù)據(jù)量為所述預(yù)設(shè)數(shù)量級的數(shù)據(jù)表執(zhí)行數(shù)據(jù)庫簡單語句操作的響應(yīng)時長;
第二計算模塊,用于根據(jù)所述預(yù)設(shè)數(shù)量級、所述預(yù)設(shè)數(shù)據(jù)表響應(yīng)時長和所述數(shù)據(jù)庫語句中涉及的數(shù)據(jù)表的數(shù)量級,得到第一數(shù)據(jù)表響應(yīng)時長;
加模塊,用于所述常規(guī)執(zhí)行時長增加所述第一數(shù)據(jù)表響應(yīng)時長。
9.根據(jù)權(quán)利要求7所述的數(shù)據(jù)庫腳本運行異常檢測系統(tǒng),其特征在于,還包括:
第二解析模塊,用于解析數(shù)據(jù)庫腳本,得到嵌套語句;
第三解析模塊,用于解析所述嵌套語句為簡單語句集合。
10.根據(jù)權(quán)利要求7所述的數(shù)據(jù)庫腳本運行異常檢測系統(tǒng),其特征在于,還包括:
推送模塊,用于若所述比較結(jié)果為實際執(zhí)行時長大于所述常規(guī)執(zhí)行時長,則推送數(shù)據(jù)庫腳本運行異常的提示消息;所述提示信息包括所述數(shù)據(jù)庫語句的位置信息、所述實際執(zhí)行時長和所述常規(guī)執(zhí)行時長;
分類模塊,用于根據(jù)所述比較結(jié)果將所述數(shù)據(jù)庫語句分為異常語句和無異常語句兩類,得到分類列表;
第一生成模塊,用于根據(jù)數(shù)據(jù)庫腳本中所述數(shù)據(jù)庫語句的常規(guī)執(zhí)行時長和實際執(zhí)行時長生成詳細(xì)列表;
第二生成模塊,用于根據(jù)所述分類列表和所述詳細(xì)列表自動生成數(shù)據(jù)庫腳本的運行報告。