本申請(qǐng)屬于大數(shù)據(jù)數(shù)據(jù)處理,尤其涉及一種索引異常檢測(cè)方法、裝置、設(shè)備、介質(zhì)及產(chǎn)品。
背景技術(shù):
1、索引缺失指在數(shù)據(jù)庫(kù)中創(chuàng)建新數(shù)據(jù)表后,未創(chuàng)建該新數(shù)據(jù)表對(duì)應(yīng)的索引數(shù)據(jù),導(dǎo)致索引時(shí)會(huì)出現(xiàn)全表掃描,索引膨脹指數(shù)據(jù)表中的數(shù)據(jù)刪除或更新后,該數(shù)據(jù)表對(duì)應(yīng)的索引數(shù)據(jù)未刪除,導(dǎo)致索引占用空間不斷膨脹。
2、索引缺失和索引膨脹會(huì)導(dǎo)致索引效率降低,為了避免索引效率降低,需要一種對(duì)索引缺失和索引膨脹進(jìn)行檢測(cè)的方案。
技術(shù)實(shí)現(xiàn)思路
1、本申請(qǐng)實(shí)施例提供一種索引異常檢測(cè)方法、裝置、設(shè)備、介質(zhì)及產(chǎn)品,能夠?qū)崿F(xiàn)對(duì)索引缺失和索引膨脹的準(zhǔn)確檢測(cè)。
2、第一方面,本申請(qǐng)實(shí)施例提供一種索引異常檢測(cè)方法,該方法包括:
3、獲取第一信息表和第二信息表,第一信息表包括數(shù)據(jù)庫(kù)中數(shù)據(jù)表的表名和數(shù)據(jù)表占用空間,第二信息表包括數(shù)據(jù)庫(kù)中索引數(shù)據(jù)對(duì)應(yīng)的表名、索引名和索引占用空間;
4、以第一信息表為左表,以第二信息表為右表,以右表中的表名與左表中的表名相匹配為條件,對(duì)左表和右表進(jìn)行左關(guān)聯(lián),得到信息關(guān)聯(lián)表,信息關(guān)聯(lián)表包括表名、數(shù)據(jù)表占用空間、索引名以及索引占用空間;
5、在信息關(guān)聯(lián)表中存在第一表名對(duì)應(yīng)的索引名為空的情況下,確定第一表名對(duì)應(yīng)的數(shù)據(jù)表存在索引缺失異常;
6、在信息關(guān)聯(lián)表中存在第二表名對(duì)應(yīng)的索引占用空間與第二表名對(duì)應(yīng)的數(shù)據(jù)表占用空間滿足預(yù)設(shè)條件的情況下,確定第二表名對(duì)應(yīng)的數(shù)據(jù)表存在索引膨脹異常。
7、第二方面,本申請(qǐng)實(shí)施例提供了一種索引異常檢測(cè)裝置,該裝置包括:
8、獲取模塊,用于獲取第一信息表和第二信息表,第一信息表包括數(shù)據(jù)庫(kù)中數(shù)據(jù)表的表名和數(shù)據(jù)表占用空間,第二信息表包括數(shù)據(jù)庫(kù)中索引數(shù)據(jù)對(duì)應(yīng)的表名、索引名和索引占用空間;
9、第一關(guān)聯(lián)模塊,用于以第一信息表為左表,以第二信息表為右表,以右表中的表名與左表中的表名相匹配為條件,對(duì)左表和右表進(jìn)行左關(guān)聯(lián),得到信息關(guān)聯(lián)表,信息關(guān)聯(lián)表包括表名、數(shù)據(jù)表占用空間、索引名以及索引占用空間;
10、第一確定模塊,用于在信息關(guān)聯(lián)表中存在第一表名對(duì)應(yīng)的索引名為空的情況下,確定第一表名對(duì)應(yīng)的數(shù)據(jù)表存在索引缺失異常;
11、第二確定模塊,用于在信息關(guān)聯(lián)表中存在第二表名對(duì)應(yīng)的索引占用空間與第二表名對(duì)應(yīng)的數(shù)據(jù)表占用空間滿足預(yù)設(shè)條件的情況下,確定第二表名對(duì)應(yīng)的數(shù)據(jù)表存在索引膨脹異常。
12、第三方面,本申請(qǐng)實(shí)施例提供了一種電子設(shè)備,所述設(shè)備包括:處理器以及存儲(chǔ)有計(jì)算機(jī)程序指令的存儲(chǔ)器;
13、所述處理器執(zhí)行所述計(jì)算機(jī)程序指令時(shí)實(shí)現(xiàn)如第一方面的任一項(xiàng)實(shí)施例中所示的索引異常檢測(cè)方法。
14、第四方面,本申請(qǐng)實(shí)施例提供了一種計(jì)算機(jī)存儲(chǔ)介質(zhì),所述計(jì)算機(jī)存儲(chǔ)介質(zhì)上存儲(chǔ)有計(jì)算機(jī)程序指令,所述計(jì)算機(jī)程序指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)第一方面的任一項(xiàng)實(shí)施例中所示的索引異常檢測(cè)方法。
15、第五方面,本申請(qǐng)實(shí)施例提供了一種計(jì)算機(jī)程序產(chǎn)品,所述計(jì)算機(jī)程序產(chǎn)品中的指令由電子設(shè)備的處理器執(zhí)行時(shí),使得電子設(shè)備執(zhí)行第一方面的任一項(xiàng)實(shí)施例中所示的索引異常檢測(cè)方法。
16、本申請(qǐng)實(shí)施例的索引異常檢測(cè)方法、裝置、設(shè)備、介質(zhì)及產(chǎn)品中,可以獲取第一信息表和第二信息表,其中,第一信息表包括數(shù)據(jù)庫(kù)中數(shù)據(jù)表的表名和數(shù)據(jù)表占用空間,第二信息表包括數(shù)據(jù)庫(kù)中索引數(shù)據(jù)對(duì)應(yīng)的表名、索引名和索引占用空間,然后以第一信息表為左表,以第二信息表為右表,以右表中的表名與左表中的表名相匹配為條件,對(duì)左表和右表進(jìn)行左關(guān)聯(lián),得到信息關(guān)聯(lián)表,該信息關(guān)聯(lián)表包括表名、數(shù)據(jù)表占用空間、索引名以及索引占用空間。在信息關(guān)聯(lián)表中存在第一表名對(duì)應(yīng)的索引名為空的情況下,確定第一表名對(duì)應(yīng)的數(shù)據(jù)表存在索引缺失異常;在信息關(guān)聯(lián)表中存在第二表名對(duì)應(yīng)的索引占用空間與第二表名對(duì)應(yīng)的數(shù)據(jù)表占用空間滿足預(yù)設(shè)條件的情況下,確定第二表名對(duì)應(yīng)的數(shù)據(jù)表存在索引膨脹異常。這樣,便可以實(shí)現(xiàn)對(duì)索引缺失和索引膨脹的準(zhǔn)確檢測(cè)。
1.一種索引異常檢測(cè)方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述第一信息表還包括所述數(shù)據(jù)庫(kù)中數(shù)據(jù)表的行數(shù),所述信息關(guān)聯(lián)表還包括數(shù)據(jù)表的行數(shù),所述方法還包括:
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,在所述獲取第一信息表和第二信息表之前,所述方法還包括:
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,在所述獲取第一信息表和第二信息表之前,所述方法還包括:
5.根據(jù)權(quán)利要求2所述的方法,其特征在于,在所述第三表名中包括行數(shù)大于預(yù)設(shè)行數(shù)或數(shù)據(jù)表占用空間大于預(yù)設(shè)空間的目標(biāo)表名的情況下,輸出提示信息之后,所述方法還包括:
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述預(yù)設(shè)條件為所述第二表名對(duì)應(yīng)的索引占用空間與所述第二表名對(duì)應(yīng)的數(shù)據(jù)表占用空間的比值大于n倍,n大于1。
7.一種索引異常檢測(cè)裝置,其特征在于,包括:
8.一種電子設(shè)備,其特征在于,所述設(shè)備包括:處理器以及存儲(chǔ)有計(jì)算機(jī)程序指令的存儲(chǔ)器;
9.一種計(jì)算機(jī)存儲(chǔ)介質(zhì),其特征在于,所述計(jì)算機(jī)存儲(chǔ)介質(zhì)上存儲(chǔ)有計(jì)算機(jī)程序指令,所述計(jì)算機(jī)程序指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)如權(quán)利要求1-6任一項(xiàng)所述的索引異常檢測(cè)方法。
10.一種計(jì)算機(jī)程序產(chǎn)品,其特征在于,所述計(jì)算機(jī)程序產(chǎn)品中的指令由電子設(shè)備的處理器執(zhí)行時(shí),使得所述電子設(shè)備執(zhí)行如權(quán)利要求1-6任一項(xiàng)所述的索引異常檢測(cè)方法。