502可以被配置為以固定時(shí)間間隔從跟蹤到的SQL語(yǔ)句的執(zhí)行成本和相關(guān)成本指標(biāo)的歷史數(shù)據(jù)中預(yù)測(cè)所述成本的動(dòng)態(tài)閾值。
[0066]另外,裝置5還可以包括判斷單元503。判斷單元503被配置為響應(yīng)于SQL語(yǔ)句的在特定時(shí)刻執(zhí)行成本高于預(yù)測(cè)的在該特定時(shí)刻成本的閾值,判斷該SQL語(yǔ)句在該特定時(shí)刻性能低。
[0067]如圖6所示,用于預(yù)測(cè)SQL語(yǔ)句的性能的裝置6包括跟蹤單元601、確定單元602、輸出單元603。跟蹤單元601被配置為跟蹤SQL語(yǔ)句的性能指標(biāo)和相關(guān)數(shù)據(jù)量、并發(fā)量。確定單元602被配置為基于跟蹤到的SQL語(yǔ)句的性能指標(biāo)和相關(guān)數(shù)據(jù)量、并發(fā)量的歷史數(shù)據(jù),確定性能指標(biāo)隨數(shù)據(jù)量和并發(fā)量變化的趨勢(shì)。輸出單元603被配置為響應(yīng)于輸入的數(shù)據(jù)量和并發(fā)量,基于該性能指標(biāo)隨數(shù)據(jù)量和并發(fā)量變化的趨勢(shì),輸出在該數(shù)據(jù)量和并發(fā)量下的性能指標(biāo)。
[0068]另外,所述性能指標(biāo)可以是SQL語(yǔ)句的執(zhí)行成本。
[0069]另外,跟蹤單元601可以被配置為以固定時(shí)間間隔跟蹤SQL語(yǔ)句的性能指標(biāo)和相關(guān)數(shù)據(jù)量、并發(fā)量。
[0070]另外,確定單元602可以被配置為以固定時(shí)間間隔動(dòng)態(tài)地從SQL語(yǔ)句的性能指標(biāo)和相關(guān)數(shù)據(jù)量、并發(fā)量的歷史數(shù)據(jù)中確定性能指標(biāo)隨數(shù)據(jù)量和并發(fā)量變化的趨勢(shì)。
[0071]現(xiàn)在參考圖7,其示出了按照本發(fā)明一個(gè)實(shí)施例的用于在數(shù)據(jù)庫(kù)中發(fā)現(xiàn)低性能的SQL語(yǔ)句的設(shè)備7的示意圖。如圖7所示,該設(shè)備7可以包括存儲(chǔ)器701和處理器702。存儲(chǔ)器701可以存儲(chǔ)可執(zhí)行指令。處理器702可以根據(jù)存儲(chǔ)器701所存儲(chǔ)的可執(zhí)行指令,實(shí)現(xiàn)前述裝置5的各個(gè)單元所執(zhí)行的操作。
[0072]此外,本發(fā)明實(shí)施例還提供一種機(jī)器可讀介質(zhì),其上存儲(chǔ)有可執(zhí)行指令,當(dāng)所述可執(zhí)行指令被執(zhí)行時(shí),使得機(jī)器執(zhí)行處理器702所實(shí)現(xiàn)的操作。
[0073]現(xiàn)在參考圖8,其示出了按照本發(fā)明一個(gè)實(shí)施例的用于在數(shù)據(jù)庫(kù)中發(fā)現(xiàn)低性能的SQL語(yǔ)句的設(shè)備8的示意圖。如圖8所示,該設(shè)備8可以包括存儲(chǔ)器801和處理器802。存儲(chǔ)器801可以存儲(chǔ)可執(zhí)行指令。處理器802可以根據(jù)存儲(chǔ)器801所存儲(chǔ)的可執(zhí)行指令,實(shí)現(xiàn)前述裝置6的各個(gè)單元所執(zhí)行的操作。
[0074]此外,本發(fā)明實(shí)施例還提供一種機(jī)器可讀介質(zhì),其上存儲(chǔ)有可執(zhí)行指令,當(dāng)所述可執(zhí)行指令被執(zhí)行時(shí),使得機(jī)器執(zhí)行處理器802所實(shí)現(xiàn)的操作。
[0075]本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,上面所公開的各個(gè)實(shí)施例,可以在不偏離發(fā)明實(shí)質(zhì)的情況下做出各種變形和改變。因此,本發(fā)明的保護(hù)范圍應(yīng)當(dāng)由所附的權(quán)利要求書來(lái)限定。
【主權(quán)項(xiàng)】
1.一種用于在數(shù)據(jù)庫(kù)中發(fā)現(xiàn)低性能的SQL語(yǔ)句的方法,包括: 跟蹤SQL語(yǔ)句的執(zhí)行成本和相關(guān)成本指標(biāo); 基于跟蹤到的SQL語(yǔ)句的執(zhí)行成本和相關(guān)成本指標(biāo)的歷史數(shù)據(jù),預(yù)測(cè)SQL語(yǔ)句的成本的動(dòng)態(tài)閾值,以便基于SQL語(yǔ)句的在特定時(shí)刻執(zhí)行成本和相應(yīng)的預(yù)測(cè)出的成本的閾值,發(fā)現(xiàn)低性能的SQL語(yǔ)句。
2.根據(jù)權(quán)利要求1的方法,其中所述跟蹤步驟包括:以固定時(shí)間間隔跟蹤SQL語(yǔ)句的執(zhí)行成本和相關(guān)成本指標(biāo)。
3.根據(jù)權(quán)利要求1的方法,其中所述預(yù)測(cè)步驟包括:以固定時(shí)間間隔從跟蹤到的SQL語(yǔ)句的執(zhí)行成本和相關(guān)成本指標(biāo)的歷史數(shù)據(jù)中預(yù)測(cè)所述成本的動(dòng)態(tài)閾值。
4.根據(jù)權(quán)利要求1的方法,其中所述方法還包括:響應(yīng)于SQL語(yǔ)句的在特定時(shí)刻執(zhí)行成本高于預(yù)測(cè)的在該特定時(shí)刻成本的閾值,判斷該SQL語(yǔ)句在該特定時(shí)刻性能低。
5.一種用于預(yù)測(cè)SQL語(yǔ)句的性能的方法,包括: 跟蹤SQL語(yǔ)句的性能指標(biāo)和相關(guān)數(shù)據(jù)量、并發(fā)量; 基于跟蹤到的SQL語(yǔ)句的性能指標(biāo)和相關(guān)數(shù)據(jù)量、并發(fā)量的歷史數(shù)據(jù),確定性能指標(biāo)隨數(shù)據(jù)量和并發(fā)量變化的趨勢(shì); 響應(yīng)于輸入的數(shù)據(jù)量和并發(fā)量,基于該性能指標(biāo)隨數(shù)據(jù)量和并發(fā)量變化的趨勢(shì),輸出在該數(shù)據(jù)量和并發(fā)量下的性能指標(biāo)。
6.根據(jù)權(quán)利要求5的方法,其中所述性能指標(biāo)是SQL語(yǔ)句的執(zhí)行成本。
7.根據(jù)權(quán)利要求5的方法,其中所述跟蹤步驟包括:以固定時(shí)間間隔跟蹤SQL語(yǔ)句的性能指標(biāo)和相關(guān)數(shù)據(jù)量、并發(fā)量。
8.根據(jù)權(quán)利要求5的方法,其中所述確定步驟包括:以固定時(shí)間間隔動(dòng)態(tài)地從SQL語(yǔ)句的性能指標(biāo)和相關(guān)數(shù)據(jù)量、并發(fā)量的歷史數(shù)據(jù)中確定性能指標(biāo)隨數(shù)據(jù)量和并發(fā)量變化的趨勢(shì)。
9.一種用于在數(shù)據(jù)庫(kù)中發(fā)現(xiàn)低性能的SQL語(yǔ)句的裝置,包括: 跟蹤單元,被配置為跟蹤SQL語(yǔ)句的執(zhí)行成本和相關(guān)成本指標(biāo); 預(yù)測(cè)單元,被配置為基于跟蹤到的SQL語(yǔ)句的執(zhí)行成本和相關(guān)成本指標(biāo)的歷史數(shù)據(jù),預(yù)測(cè)SQL語(yǔ)句的成本的動(dòng)態(tài)閾值,以便基于SQL語(yǔ)句的在特定時(shí)刻執(zhí)行成本和相應(yīng)的預(yù)測(cè)出的成本的閾值,發(fā)現(xiàn)低性能的SQL語(yǔ)句。
10.根據(jù)權(quán)利要求9的裝置,其中所述跟蹤單元被配置為以固定時(shí)間間隔跟蹤SQL語(yǔ)句的執(zhí)行成本和相關(guān)成本指標(biāo)。
11.根據(jù)權(quán)利要求9的裝置,其中所述預(yù)測(cè)單元被配置為以固定時(shí)間間隔從跟蹤到的SQL語(yǔ)句的執(zhí)行成本和相關(guān)成本指標(biāo)的歷史數(shù)據(jù)中預(yù)測(cè)所述成本的動(dòng)態(tài)閾值。
12.根據(jù)權(quán)利要求9的裝置,其中所述裝置還包括:判斷單元,被配置為響應(yīng)于SQL語(yǔ)句的在特定時(shí)刻執(zhí)行成本高于預(yù)測(cè)的在該特定時(shí)刻成本的閾值,判斷該SQL語(yǔ)句在該特定時(shí)刻性能低。
13.一種用于預(yù)測(cè)SQL語(yǔ)句的性能的裝置,包括: 跟蹤單元,被配置為跟蹤SQL語(yǔ)句的性能指標(biāo)和相關(guān)數(shù)據(jù)量、并發(fā)量; 確定單元,被配置為基于跟蹤到的SQL語(yǔ)句的性能指標(biāo)和相關(guān)數(shù)據(jù)量、并發(fā)量的歷史數(shù)據(jù),確定性能指標(biāo)隨數(shù)據(jù)量和并發(fā)量變化的趨勢(shì); 輸出單元,被配置為響應(yīng)于輸入的數(shù)據(jù)量和并發(fā)量,基于該性能指標(biāo)隨數(shù)據(jù)量和并發(fā)量變化的趨勢(shì),輸出在該數(shù)據(jù)量和并發(fā)量下的性能指標(biāo)。
14.根據(jù)權(quán)利要求13的裝置,其中所述性能指標(biāo)是SQL語(yǔ)句的執(zhí)行成本。
15.根據(jù)權(quán)利要求13的裝置,其中所述跟蹤單元被配置為以固定時(shí)間間隔跟蹤SQL語(yǔ)句的性能指標(biāo)和相關(guān)數(shù)據(jù)量、并發(fā)量。
16.根據(jù)權(quán)利要求13的裝置,其中所述確定單元被配置為以固定時(shí)間間隔動(dòng)態(tài)地從SQL語(yǔ)句的性能指標(biāo)和相關(guān)數(shù)據(jù)量、并發(fā)量的歷史數(shù)據(jù)中確定性能指標(biāo)隨數(shù)據(jù)量和并發(fā)量變化的趨勢(shì)。
17.一種用于在數(shù)據(jù)庫(kù)中發(fā)現(xiàn)低性能的SQL語(yǔ)句的設(shè)備,包括: 存儲(chǔ)器,用于存儲(chǔ)可執(zhí)行指令;以及 處理器,用于根據(jù)所述存儲(chǔ)器所存儲(chǔ)的可執(zhí)行指令,執(zhí)行如權(quán)利要求1-4中的任意一個(gè)權(quán)利要求所述的方法所包括的操作。
18.—種機(jī)器可讀介質(zhì),其上存儲(chǔ)有可執(zhí)行指令,當(dāng)所述可執(zhí)行指令被執(zhí)行時(shí),使得機(jī)器執(zhí)行如權(quán)利要求1-4中的任意一個(gè)權(quán)利要求所述的方法所包括的操作。
19.一種用于預(yù)測(cè)SQL語(yǔ)句的性能的設(shè)備,包括: 存儲(chǔ)器,用于存儲(chǔ)可執(zhí)行指令;以及 處理器,用于根據(jù)所述存儲(chǔ)器所存儲(chǔ)的可執(zhí)行指令,執(zhí)行如權(quán)利要求5-8中的任意一個(gè)權(quán)利要求所述的方法所包括的操作。
20.一種機(jī)器可讀介質(zhì),其上存儲(chǔ)有可執(zhí)行指令,當(dāng)所述可執(zhí)行指令被執(zhí)行時(shí),使得機(jī)器執(zhí)行如權(quán)利要求5-8中的任意一個(gè)權(quán)利要求所述的方法所包括的操作。
【專利摘要】本發(fā)明涉及一種發(fā)現(xiàn)低性能的SQL語(yǔ)句以及預(yù)測(cè)SQL語(yǔ)句性能的方法和裝置。該發(fā)現(xiàn)低性能的SQL語(yǔ)句的方法包括:跟蹤SQL語(yǔ)句的執(zhí)行成本和相關(guān)成本指標(biāo);基于跟蹤到的SQL語(yǔ)句的執(zhí)行成本和相關(guān)成本指標(biāo)的歷史數(shù)據(jù),預(yù)測(cè)SQL語(yǔ)句的成本的動(dòng)態(tài)閾值,以便基于SQL語(yǔ)句的在特定時(shí)刻執(zhí)行成本和相應(yīng)的預(yù)測(cè)出的成本的閾值,發(fā)現(xiàn)低性能的SQL語(yǔ)句。本發(fā)明的實(shí)施例能夠高效地在數(shù)據(jù)庫(kù)中發(fā)現(xiàn)低性能的SQL語(yǔ)句。
【IPC分類】G06F17-30
【公開號(hào)】CN104820663
【申請(qǐng)?zhí)枴緾N201410044114
【發(fā)明人】方曉珊
【申請(qǐng)人】西門子公司
【公開日】2015年8月5日
【申請(qǐng)日】2014年1月30日