本發(fā)明實施例涉及數(shù)據(jù)處理,尤其涉及一種數(shù)據(jù)庫索引的更新方法、裝置、設(shè)備及介質(zhì)。
背景技術(shù):
1、在進(jìn)行業(yè)務(wù)系統(tǒng)開發(fā)中,數(shù)據(jù)庫的維護(hù)方式通常都是基于開發(fā)者的經(jīng)驗,對索引進(jìn)行創(chuàng)建,存在索引濫用和構(gòu)建不合理,導(dǎo)致存在一些未被命中的無效索引的情況,浪費了存儲空間,增加了數(shù)據(jù)庫開銷,影響了數(shù)據(jù)庫的性能。因此,如何減少無效索引,提高數(shù)據(jù)庫的性能,至關(guān)重要。
技術(shù)實現(xiàn)思路
1、本發(fā)明提供一種數(shù)據(jù)庫索引的更新方法、裝置、設(shè)備及介質(zhì),以減少無效索引,提高數(shù)據(jù)庫的性能。
2、根據(jù)本發(fā)明的一方面,提供了一種數(shù)據(jù)庫索引的更新方法,包括:
3、從預(yù)設(shè)的語句執(zhí)行隊列中獲取當(dāng)前處理語句,并基于預(yù)設(shè)的目標(biāo)表級容器,確定所述當(dāng)前處理語句對應(yīng)的當(dāng)前數(shù)據(jù)表的當(dāng)前表級特性;其中,所述目標(biāo)表級容器根據(jù)預(yù)設(shè)的初始監(jiān)控容器和數(shù)據(jù)庫中的候選數(shù)據(jù)表確定;
4、若所述當(dāng)前表級特性為讀寫交叉特性,則確定所述當(dāng)前數(shù)據(jù)表在預(yù)設(shè)歷史時段內(nèi)所關(guān)聯(lián)的歷史處理語句,并基于所述歷史處理語句,確定所述當(dāng)前數(shù)據(jù)表的時段表級特性;
5、若所述時段表級特性為寫讀交叉特性,則對所述當(dāng)前數(shù)據(jù)表對應(yīng)的歷史索引進(jìn)行更新,得到參考索引,并根據(jù)所述參考索引,確定所述當(dāng)前處理語句的參考執(zhí)行時長和參考執(zhí)行計劃;
6、根據(jù)所述參考執(zhí)行時長、所述參考執(zhí)行計劃和預(yù)設(shè)索引更新策略,確定所述當(dāng)前數(shù)據(jù)表對應(yīng)的目標(biāo)索引。
7、根據(jù)本發(fā)明的另一方面,提供了一種數(shù)據(jù)庫索引的更新裝置,包括:
8、當(dāng)前表級特性確定模塊,用于從預(yù)設(shè)的語句執(zhí)行隊列中獲取當(dāng)前處理語句,并基于預(yù)設(shè)的目標(biāo)表級容器,確定所述當(dāng)前處理語句對應(yīng)的當(dāng)前數(shù)據(jù)表的當(dāng)前表級特性;其中,所述目標(biāo)表級容器根據(jù)預(yù)設(shè)的初始監(jiān)控容器和數(shù)據(jù)庫中的候選數(shù)據(jù)表確定;
9、時段表級特性確定模塊,用于若所述當(dāng)前表級特性為讀寫交叉特性,則確定所述當(dāng)前數(shù)據(jù)表在預(yù)設(shè)歷史時段內(nèi)所關(guān)聯(lián)的歷史處理語句,并基于所述歷史處理語句,確定所述當(dāng)前數(shù)據(jù)表的時段表級特性;
10、參考索引確定模塊,用于若所述時段表級特性為寫讀交叉特性,則對所述當(dāng)前數(shù)據(jù)表對應(yīng)的歷史索引進(jìn)行更新,得到參考索引,并根據(jù)所述參考索引,確定所述當(dāng)前處理語句的參考執(zhí)行時長和參考執(zhí)行計劃;
11、目標(biāo)索引確定模塊,用于根據(jù)所述參考執(zhí)行時長、所述參考執(zhí)行計劃和預(yù)設(shè)索引更新策略,確定所述當(dāng)前數(shù)據(jù)表對應(yīng)的目標(biāo)索引。
12、根據(jù)本發(fā)明的另一方面,提供了一種電子設(shè)備,包括:
13、一個或多個處理器;
14、存儲器,用于存儲一個或多個程序;
15、當(dāng)一個或多個程序被一個或多個處理器執(zhí)行,使得一個或多個處理器能夠執(zhí)行本發(fā)明實施例所提供的任意一種數(shù)據(jù)庫索引的更新方法。
16、根據(jù)本發(fā)明的另一方面,提供了一種計算機(jī)可讀存儲介質(zhì),計算機(jī)可讀存儲介質(zhì)存儲有計算機(jī)指令,計算機(jī)指令用于使處理器執(zhí)行時實現(xiàn)本發(fā)明實施例所提供的任意一種數(shù)據(jù)庫索引的更新方法。
17、本發(fā)明實施例提供了一種數(shù)據(jù)庫索引的更新方案,通過從預(yù)設(shè)的語句執(zhí)行隊列中獲取當(dāng)前處理語句,并基于預(yù)設(shè)的目標(biāo)表級容器,確定當(dāng)前處理語句對應(yīng)的當(dāng)前數(shù)據(jù)表的當(dāng)前表級特性;其中,目標(biāo)表級容器根據(jù)預(yù)設(shè)的初始監(jiān)控容器和數(shù)據(jù)庫中的候選數(shù)據(jù)表確定;若當(dāng)前表級特性為讀寫交叉特性,則確定當(dāng)前數(shù)據(jù)表在預(yù)設(shè)歷史時段內(nèi)所關(guān)聯(lián)的歷史處理語句,并基于歷史處理語句,確定當(dāng)前數(shù)據(jù)表的時段表級特性;若時段表級特性為寫讀交叉特性,則對當(dāng)前數(shù)據(jù)表對應(yīng)的歷史索引進(jìn)行更新,得到參考索引,并根據(jù)參考索引,確定當(dāng)前處理語句的參考執(zhí)行時長和參考執(zhí)行計劃;根據(jù)參考執(zhí)行時長、參考執(zhí)行計劃和預(yù)設(shè)索引更新策略,確定當(dāng)前數(shù)據(jù)表對應(yīng)的目標(biāo)索引。上述方案,通過根據(jù)預(yù)設(shè)歷史時段內(nèi)的歷史處理語句,對當(dāng)前數(shù)據(jù)表的歷史索引進(jìn)行更新,得到參考索引,再根據(jù)參考索引確定的參考執(zhí)行計劃、參考執(zhí)行時長,以及預(yù)設(shè)索引更新策略,確定目標(biāo)索引,實現(xiàn)了對當(dāng)前數(shù)據(jù)表對應(yīng)的索引進(jìn)行優(yōu)化,進(jìn)而減少了數(shù)據(jù)庫中的無效索引,提高了數(shù)據(jù)庫的性能。
18、應(yīng)當(dāng)理解,本部分所描述的內(nèi)容并非旨在標(biāo)識本發(fā)明的實施例的關(guān)鍵或重要特征,也不用于限制本發(fā)明的范圍。本發(fā)明的其它特征將通過以下的說明書而變得容易理解。
1.一種數(shù)據(jù)庫索引的更新方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)庫索引的更新方法,其特征在于,所述目標(biāo)表級容器基于以下方式確定:
3.根據(jù)權(quán)利要求2所述的數(shù)據(jù)庫索引的更新方法,其特征在于,所述根據(jù)所述候選表處理語句中的功能標(biāo)識數(shù)據(jù),確定相應(yīng)候選數(shù)據(jù)表標(biāo)識對應(yīng)的候選表級特性,包括:
4.根據(jù)權(quán)利要求1所述的數(shù)據(jù)庫索引的更新方法,其特征在于,所述根據(jù)所述參考執(zhí)行時長、所述參考執(zhí)行計劃和預(yù)設(shè)索引更新策略,確定所述當(dāng)前數(shù)據(jù)表對應(yīng)的目標(biāo)索引,包括:
5.根據(jù)權(quán)利要求4所述的數(shù)據(jù)庫索引的更新方法,其特征在于,根據(jù)所述參考執(zhí)行時長和所述參考執(zhí)行計劃,確定所述當(dāng)前處理語句為待更新處理語句,包括:
6.根據(jù)權(quán)利要求4所述的數(shù)據(jù)庫索引的更新方法,其特征在于,所述方法還包括:
7.根據(jù)權(quán)利要求1-6中任一項所述的數(shù)據(jù)庫索引的更新方法,其特征在于,所述對所述當(dāng)前數(shù)據(jù)表對應(yīng)的歷史索引進(jìn)行更新,得到參考索引,包括:
8.一種數(shù)據(jù)庫索引的更新裝置,其特征在于,包括:
9.一種電子設(shè)備,其特征在于,包括:
10.一種計算機(jī)可讀存儲介質(zhì),其上存儲有計算機(jī)程序,其特征在于,該程序被處理器執(zhí)行時實現(xiàn)如權(quán)利要求1-7任一項所述的一種數(shù)據(jù)庫索引的更新方法。