本技術涉及計算機領域,尤其涉及一種視圖推薦方法、系統及相關設備。
背景技術:
1、物化視圖是一個包含查詢結果的數據庫對象。物化視圖的主要原理是將查詢結果或者中間結果存儲于磁盤中,在遇到與其相關的查詢時可以直接調用,避免重復計算,能夠節省大量的查詢執行時間,降低了數據規模對于查詢效率的影響,從而被廣泛應用于云計算和大數據領域中。
2、然而物化視圖創建后需要消耗系統資源進行維護,若物化視圖只和某個特殊的查詢很貼合,其他查詢均用不到這個物化視圖,則會導致這張物化視圖的性價比不高,既占用了集群的存儲資源,還不能為更多的查詢服務。所以用戶需要依據經驗結合自己的查詢語句以及數據維度信息來創建物化視圖,使得用戶的學習成本高,而隨著大數據的不斷發展,數據量呈指數倍增長,有經驗的用戶也難以基于大量的查詢語句以及大量的數據維度信息來創建物化視圖,因此如何為用戶推薦物化視圖是一個亟待解決的問題。
技術實現思路
1、本技術提供了一種視圖推薦方法、系統及相關設備,用于解決如何為用戶推薦物化視圖的問題,提高用戶的使用體驗。
2、第一方面,提供了一種視圖推薦方法,該方法包括以下步驟:獲取用戶發送的多個查詢請求,該查詢請求中包括至少一個子查詢,根據多個查詢請求中的多個子查詢,確定多個候選子查詢,然后預測出每個候選子查詢所創建的候選物化視圖的成本,該成本用于衡量所述候選物化視圖在生命周期內所需的資源開銷,基于每個候選物化視圖的成本,從多個候選子查詢中確定目標子查詢,獲得推薦結果,最后根據推薦結果創建目標物化視圖。
3、上述實現方式,從多個子查詢中確定候選子查詢,并通過預測的方式獲得每個候選子查詢創建出的候選物化視圖的成本,基于該成本確定推薦結果,這樣根據推薦結果創建出的物化視圖是收益最佳的物化視圖,不僅解決了如何為用戶推薦物化視圖的問題,同時,該方案并未將每個候選子查詢都創建出物化視圖,而是通過預測的方式獲知每個候選子查詢對應的候選物化視圖的成本,用戶只需要基于最終的推薦結果創建物化視圖,使得物化視圖推薦時的資源消耗低,推薦速度快,提高用戶的使用體驗。
4、在一可能的實現方式中,確定推薦結果時,可以先確定每個候選子查詢創建出的候選物化視圖的質量,然后基于每個候選物化視圖的成本和質量,從多個候選子查詢中確定推薦結果,其中,上述質量用于衡量候選物化視圖在查詢時的查詢性能。
5、上述實現方式,通過確定每個候選物化視圖的質量,然后基于質量和成本確定推薦結果,這樣根據推薦結果創建的物化視圖是收益最高的物化視圖,不僅成本低,而且質量高,提高用戶的使用體驗。
6、在一可能的實現方式中,可以先根據每個候選物化視圖的質量,對多個候選物化視圖進行排序,獲得排序結果,然后根據每個候選物化視圖的成本,從排序結果中選擇出成本低于成本閾值的候選物化視圖對應的目標子查詢,獲得推薦結果。
7、上述實現方式,根據候選物化視圖的質量對候選物化視圖進行排序,然后從排序結果中選出成本低于成本閾值的候選物化視圖的目標子查詢,以此獲得的推薦結果,根據該推薦結果創建的物化視圖不僅成本滿足用戶需求,而且質量也很高,提高用戶的使用體驗。
8、在一可能的實現方式中,可基于貪心算法,將候選物化視圖推薦問題建模為一個局部最優解問題,通過使用一組指標(即前述內容中的參數信息,包括但不限于候選物化視圖命中的查詢請求的數量、涉及的表的數量、表的大小、視圖中的謂詞數量中的一種或者多種)來衡量每個候選物化視圖的質量,按照貪心算法對各個候選子查詢進行排序獲得排序結果,排序結果位于首位的候選子查詢的候選物化視圖質量最高。然后根據各個候選物化視圖的成本,設置一個成本閾值作為限制條件,逐一對排序結果進行篩選,并將滿足條件(即成本低于成本閾值)的候選子查詢添加到推薦列表中,這樣,推薦列表中的候選子查詢即為目標子查詢,獲得推薦結果。應理解,將每個視圖的成本與存儲與閾值進行比較,可以避免創建出成本過高的物化視圖,從而影響查詢性能和數據庫的資源利用率。
9、需要說明的,基于貪心算法的推薦方案可以將候選物化視圖推薦問題建模為一個局部最優解問題,本技術也可基于貪心算法,結合如動態規劃或者遺傳算法等來進行視圖推薦,從而更全面地考慮多個視圖之間的關聯和依賴性,還可通過優化整體目標函數來平衡各個因素之間的關系和影響,從而獲得更加全面、準確和有效的視圖推薦結果。
10、上述實現方式,結合貪心算法,根據每個候選物化視圖的成本和質量確定物化視圖進行創建,可以確保最終創建的物化視圖不僅成本低而且質量高,使用該種物化視圖不僅能夠提高數據庫的讀寫效率,而且能夠節省數據庫的資源,提高資源利用率。
11、在一可能的實現方式中,確定成本閾值時,可以根據每個候選物化視圖的成本與實際可用的系統資源進行比較,以確定一個合適的成本閾值,這里的系統資源可包括計算資源、存儲資源等,本技術不作具體限定。例如,如果數據庫中有100gb的可用空間,用戶需求一定比例(如20%)的可用空間作為備份和其他目的,所以用戶最大可用空間為80gb。因此,可以將80gb作為總體上限的成本閾值。上述舉例用于說明,本技術不作具體限定。需要注意的是,在確定成本閾值時,還應該考慮到一些其他因素,如備份、恢復、數據安全等方面的需求。例如,如果數據庫中包含重要數據或者需要滿足某些法規標準,則可能需要將更多空間留作備份或者加強數據安全措施,本技術不作具體限定。
12、進一步地,為了更好地確定成本閾值,可以設置一個初始成本閾值,并根據推薦列表中所包含的所有視圖及其相關信息動態調整該閾值。例如,在處理完一定數量的候選物化視圖后,可以重新評估當前可用空間和其他約束條件,并相應地更新成本閾值。上述舉例用于說明,本技術不作具體限定。
13、上述實現方式,通過合理的設置成本閾值,且成本閾值可隨著環境變化動態調整,可以確保成本閾值始終基于實際情況進行調整,并且能夠在不同的場景和環境下獲得最佳性能和效果,提高方案的適用性和準確性,提高用戶的使用體驗。
14、在一可能的實現方式中,多個候選子查詢包括多個單表候選子查詢。從多個子查詢中獲取多個候選子查詢時,可以先從多個子查詢中篩選出從單個表中查詢數據的多個第一子查詢,然后確定多個第一子查詢涉及的多個字段,從多個字段中獲取在多個第一子查詢中出現頻率高于頻率閾值的目標字段,那么上述單表候選子查詢即為包含上述目標字段的第一子查詢,其中,單表候選子查詢中包含的目標字段數量可以是一個或者多個。
15、具體實現中,可基于數據挖掘算法來統計每個字段在多個第一子查詢中出現的頻率。比如先驗算法(apriori)、頻繁模式增長樹算法(frequent?pattern?growth,fp-growth)、最大頻繁項集算法(frequent?pattern?maxium?algorithm,fp-max)、等價類聚合算法(eclat)等等,本技術不作具體限定。
16、示例性地,以apriori算法為例,在獲取至少一個查詢請求后,將至少一個查詢請求分解為多個子查詢,從中獲取從單個表中查詢數據的多個第一子查詢,然后確定上述多個第一子查詢包含的多個字段,包括但不限于每個第一子查詢涉及的實體表,每個實體表在查詢請求中涉及的列,以及,每個列上的聚集函數等。將獲取到的每個列以及列上的聚集函數看作一個項目(item),每個第一子查詢在某個表上操作的列看作一比交易(transaction),一比transaction可以包括多個item,第一子查詢在表上的全部或者部分操作集合看作交易數據庫d,一個交易數據庫d可包括多比transaction,從而將數據庫中的表結構轉換成一種適合進行頻繁項集(frequent?itemset)挖掘的形式。然后使用apriori算法,掃描交易數據庫,統計每個item的支持度,生成單個item的頻繁項集,然后不斷將頻繁項集進行合并和剪枝直至迭代結束,最大的頻繁項集對應的字段即為目標字段。上述舉例用于說明,本技術不作具體限定。
17、上述實現方式,按照字段來統計每個字段在各個查詢請求中出現的頻率,獲取出現頻率較高的目標字段,包含目標字段的子查詢即為候選子查詢,使用這樣的候選子查詢創建的物化視圖可以確保多個查詢請求都可以使用,相比于以子查詢出現的頻繁度為粒度來確定候選物化視圖,本技術提供的方法,以字段的頻繁度為粒度來挖掘訪問頻繁的候選子查詢,可以使得最終創建的候選物化視圖的范圍更全面和廣泛,提高最終生成的物化視圖推薦的準確度。
18、在一可能的實現方式中,多個候選子查詢包括多個多表候選子查詢,從多個子查詢中獲取多個候選子查詢時,可以先從多個子查詢中篩選出從相互關聯的多個表中查詢數據的多個第二子查詢,然后將包含相同算子的多個第二子查詢進行合并,獲得多個合并結果,最后根據合并結果獲得多個多表候選子查詢,其中,一個多表候選子查詢對應一個合并結果。
19、具體實現中,合并候選物化視圖時,可以將候選物化視圖對應的子查詢中的相同進行保留,不同部分進行丟棄,進一步地,可通過等價查詢判斷算法實現上述合并操作,具體地,可以先確定每個子查詢的執行計劃,比如邏輯計劃樹,從中獲取以聚集算子、連接算子、投影算子開頭的子計劃或者子節點,篩選出包含關聯操作的第二子查詢,使用等價查詢判斷算法將篩選出的第二子查詢放入多個包含等價查詢的查詢集中,每個查詢集中的多個第二子查詢是等價的子查詢,然后將每個等價查詢集中消耗最小的第二子查詢作為該查詢集的代表,實現相同視圖的合并,然后將每個查詢集的代表與其他查詢集的代表進行合并,相同算子進行保留,不同算子則丟棄,從而獲得一個更大、更全面的多表物化視圖。
20、參考前述內容可知,單表候選子查詢基于每個字段在多個第一子查詢中出現的頻繁程度確定的,第一子查詢是從單個表中查詢數據,而第二子查詢需要連接多個表執行復雜查詢,多個表可能有沖突的字段名和數據類型,該種情況下僅根據字段出現頻率來篩選候選子查詢,無法保證最終生成物化視圖的正確性和完整性。因此針對從多個表中查詢數據的第二子查詢,通過合并第二子查詢的方式獲得候選子查詢,可以避免上述問題的發生,提高最終生成的物化視圖推薦的準確度。
21、上述實現方式,先從多個子查詢中篩選出多個第二子查詢,然后將第二子查詢進行合并,能夠被合并的第二子查詢即為被頻繁使用的子查詢,該類子查詢所創建的物化視圖可以確保未來的多個查詢請求都可以使用,提高最終生成的物化視圖推薦的準確度。
22、在一可能的實現方式中,獲取多個單表候選子查詢和多個多表候選子查詢之后,可以先確定根據多個單表候選子查詢創建的多個第一候選物化視圖的質量,確定根據多個多表候選子查詢創建的多個第二候選物化視圖的質量,然后根據多個第一候選物化視圖的質量和多個第二候選物化視圖的質量,獲得多個候選子查詢。
23、具體地,可以根據每個候選視圖的參數信息確定每個候選視圖的質量,按照質量對多個候選視圖進行排序,取前n個候選視圖對應的子查詢作為候選子查詢。其中,在確定質量時參數信息中的不同指標可對應不同的權重,或者不同指標對應不同的優先級,比如歷史查詢請求的數量權重為a,表的數量權重為b,謂詞數量權重為c,a>b>c,那么可以按照歷史查詢請求的數量>表的數量>謂詞數量這一優先級,從大到小對視圖進行排序后,取前n個視圖作為上述多個候選物化視圖。上述舉例用于說明,本技術不作具體限定。
24、舉例來說,可以將從多個單表候選子查詢和多個多表候選子查詢中獲取多個候選子查詢的問題,視為一個topn問題,topn是指在一個數據集中選擇排名前n個的元素或者結果,具體地,可基于貪心算法對該topn問題進行解決,按照一定的優先級條件對多個單表候選子查詢和多個多表候選子查詢進行排序,這里的優先級條件即為前述內容中的參數信息中不同指標的優先級,以按照歷史查詢請求的數量>表的數量>謂詞數量>表的大小這一優先級為例,使用貪心算法時的優先級條件可以如下:首先考慮每個多個單表候選子查詢和多個多表候選子查詢所創建的候選物化視圖覆蓋的歷史查詢請求的數量,如果一個候選物化視圖能夠覆蓋的歷史查詢請求數量越多,其在排序結果中的順序越靠前;其次考慮每個候選物化視圖包含的表的數量,候選物化視圖覆蓋表數越多其順序越靠前,因為涉及到多張表時需要進行聯合操作,所以減少聯合操作可以提升性能;接著考慮謂詞的數量,為此數量越多的候選物化視圖其順序越靠前,因為當一個查詢請求包含多個謂詞時,數據庫系統必須掃描整個表來找到匹配條件的行,而使用物化視圖并在其上定義了適當的索引,至需要掃描與謂詞匹配的行即可,因此物化視圖中的謂詞數量越多,越容易提高查詢性能;最后考慮每個視圖包含的表的大小,因為物化視圖涉及的表越小,越利于快速刷新和維護。按照上述優先級對多個單表候選子查詢和多個多表候選子查詢進行排序,并選擇前n個排名最高的作為候選子查詢。
25、上述實現方式,基于各個單表候選子查詢以及多表候選子查詢的質量進行篩選后獲得的多個候選子查詢,相比直接使用多個單表候選子查詢和多個多表候選子查詢參與后續處理,可以減少后續處理的數據量大小,提高物化視圖創建的效率。
26、在一可能的實現方式中,候選物化視圖的成本是基于成本估計模型確定的,成本估計模型是使用樣本集進行訓練后獲得的,樣本集包括輸入樣本和標簽,輸入樣本包括已知候選物化視圖的第一執行計劃,標簽包括已知候選物化視圖的成本。
27、上述實現方式,通過成本估計模型確定候選物化視圖的成本,這樣只需要根據子查詢的執行計劃即可獲得候選物化視圖的成本,無需創建候選物化視圖,只需要基于最終的推薦結果創建物化視圖進行使用,可以減少資源浪費,提高物化視圖的生成速度,提高用戶的使用體驗。
28、在一可能的實現方式中,輸入樣本還包括第二執行計劃以及第三執行計劃,其中,第二執行計劃是指創建已知物化視圖后,執行已知查詢請求時的執行計劃,第三執行計劃是指不使用已知物化視圖時,執行已知查詢請求時的執行計劃。
29、其中,第一執行計劃可包括執行已知候選物化視圖對應的候選子查詢時的具體流程、訪問順序、連接方式、索引等細節信息。第二執行計劃包括視圖替換步驟,這里的視圖替換步驟指的是將執行候選子查詢的步驟替換為從候選視圖讀取數據的步驟。第二執行計劃包括執行已知查詢請求的具體流程、訪問順序、連接方式、索引等細節信息。第三執行計劃是指不使用已知候選物化視圖時,執行已知查詢請求時的執行計劃,參考前述內容可知,創建sql1對應的物化視圖以后,用戶再次輸入新的包含sql1的查詢請求時,獲取sql1的查詢結果可通過訪問物化視圖來實現,此時執行新的包含sql1的查詢請求需要進行查詢改寫,使得改寫后的查詢請求可以從候選物化視圖讀取查詢結果,因此替換后的第二執行計劃與上述不進行替換的第三執行計劃存在區別。
30、上述實現方式,將三種查詢計劃作為輸入樣本,可以為模型提供更全面的信息,這是因為三種查詢計劃的執行步驟存在不同,用戶使用時可能會使用任意方式進行查詢,因此三種查詢作為輸入樣本可以提高最終確定的成本的準確性。
31、在一可能的實現方式中,輸入樣本還包括資源使用信息和表結構信息,資源使用信息包括執行第一執行計劃的資源使用信息、執行第二執行計劃的資源使用信息以及執行第三執行計劃的資源使用信息。資源使用信息包括中央處理器cpu使用情況、內存使用情況、磁盤輸入輸出io操作情況、網絡帶寬使用情況、運行時間中的一種或者多種。表結構信息包括已知物化視圖涉及的表的列信息、約束信息、索引信息、分區信息中的一種或者多種。
32、上述實現方式,將三種查詢計劃和三種查詢計劃的資源使用信息作為輸入樣本,可以很好地獲知候選物化視圖的成本。舉例來說,假設資源使用信息為執行時間,第三執行計劃的執行時間為10秒,第一執行計劃的執行時間為3秒,第二執行計劃的執行時間為5秒,那么根據三種查詢計劃的執行時間可以確定查詢改寫所需的時間為10-5-3=2秒,物化視圖的執行時間為3秒,將三種查詢計劃和三種查詢計劃的資源使用信息作為輸入樣本,可以更加全面的信息可以使得最終確定的成本更加準確,上述舉例用于說明,本技術不作具體限定。
33、在一可能的實現方式中,確定每個候選子查詢創建出的候選物化視圖的質量時,可以根據候選物化視圖的參數信息確定候選物化視圖的質量,參數信息包括候選物化視圖命中的查詢請求的數量、涉及的表的數量、表的大小、視圖中的謂詞數量中的一種或者多種。
34、其中,物化視圖命中的歷史查詢請求的數量指的是歷史查詢請求中包含該物化視圖對應子查詢的數量,應理解,確定該數量時無需創建候選物化視圖;涉及的表的數量指的是物化視圖中存儲的查詢結果所涉及的表的數量,舉例來說,如果該子查詢是從5個表中獲取數據進行計算,那么該物化視圖涉及的表的數量為5。物化視圖中的謂詞是指用于限制檢索結果的條件或過濾器,它可以包括各種類型的條件,如等于、不等于、大于、小于、like、in等。應理解,物化視圖涉及的表的數量和大小越大,物化視圖的刷新時間越長,謂詞數量越多,物化視圖的維護成本越高,命中的歷史查詢請求的數量越多,節省的計算時間越長,物化視圖的查詢性能越好。當然,參數信息還可包括其他能夠對物化視圖的質量產生影響的參數信息,這里不一一舉例說明。
35、上述實現方式,根據多種不同的參數信息確定候選物化視圖的質量,綜合考慮了多方面的因素,比如刷新時間、維護成本、節省的計算時間等等,可以使得最終確定的質量更加準確。
36、在一可能的實現方式中,可以先獲取第一時間段內用戶輸入的多個歷史查詢請求獲得多個歷史子查詢,然后從多個歷史子查詢中獲取多個歷史候選子查詢,確定歷史候選子查詢的第一執行計劃、第二執行計劃以及第三執行計劃,獲得樣本集。使用樣本集對ai模型進行訓練直至模型收斂獲得成本估計模型后,此時可以獲取第二時間段內用戶輸入的多個查詢請求,然后根據查詢請求確定多個子查詢,然后從多個子查詢中獲取多個候選子查詢,然后將多個候選子查詢的執行計劃輸入成本估計模型,獲得每個候選子查詢創建候選物化視圖的成本,再確定每個候選物化視圖的質量,然后基于成本和質量從多個候選子查詢中確定推薦結果。
37、可選地,可以不斷獲取用戶新的查詢請求,推薦新的物化視圖進行創建,并記錄該物化視圖的相關數據,作為新的樣本集對成本估計模型進行增量學習,不斷提升成本估計模型的性能,也可以使得成本估計模型可以隨著業務環境的變化而變化,提高方案的普適性和準確性。通過增量學習,也可以使得成本估計模型可以在線更新,避免由于業務發生變化需要重新搭建模型,提高用戶使用體驗。同時,產品上線后,用戶只需要每隔一段時間將歷史查詢請求輸入視圖推薦系統獲得新的物化視圖,操作簡單便捷,提高用戶使用體驗。
38、舉例來說,可以先獲取用戶在1至3月的歷史查詢記錄,然后基于該歷史查詢記錄生成成本評估模型,獲取用戶4月的歷史查詢記錄和訓練好的成本評估模型,向用戶推薦目標子查詢進行目標物化視圖的創建。進一步的,在5月結束后,還可以獲取用戶5月的歷史查詢記錄以及物化視圖的查詢記錄,對成本評估模型進行增量學習,然后向用戶推薦新的物化視圖,以此類推,不斷對成本評估模型進行更新,向用戶推薦新的物化視圖。
39、上述實現方式,通過不斷獲取新的樣本集對成本估計模型進行增量訓練,使得成本估計模型可以隨著業務的變化不斷升級,不僅方案適應性強,而且操作簡單便捷,提高用戶的使用體驗。
40、第二方面,提供了一種視圖推薦系統,該系統包括:生成單元,用于從多個子查詢中獲取多個候選子查詢,多個子查詢是根據用戶的多個查詢請求獲得的,多個查詢請求中的每個查詢請求包括至少一個子查詢;成本預測單元,用于確定多個候選子查詢中每個候選子查詢創建出的候選物化視圖的成本,成本用于衡量候選物化視圖在生命周期內所需的資源開銷;視圖推薦單元,用于基于候選物化視圖的成本,從多個候選子查詢中確定推薦結果,推薦結果包括一個或者多個目標子查詢;視圖推薦單元,用于根據推薦結果創建一個或者多個目標物化視圖,其中,一個目標子查詢對應一個目標物化視圖。
41、上述實現方式,從多個子查詢中確定候選子查詢,并通過預測的方式獲得每個候選子查詢創建出的候選物化視圖的成本,基于該成本確定推薦結果,這樣根據推薦結果創建出的物化視圖是收益最佳的物化視圖,不僅解決了如何為用戶推薦物化視圖的問題,同時,該方案并未將每個候選子查詢都創建出物化視圖,而是通過預測的方式獲知每個候選子查詢對應的候選物化視圖的成本,用戶只需要基于最終的推薦結果創建物化視圖,使得物化視圖推薦時的資源消耗低,推薦速度快,提高用戶的使用體驗。
42、在一可能的實現方式中,視圖推薦單元,用于確定每個候選子查詢創建出的候選物化視圖的質量,質量用于衡量候選物化視圖在查詢時的查詢性能;視圖推薦單元,用于基于每個候選物化視圖的成本和質量,從多個候選子查詢中確定推薦結果。
43、在一可能的實現方式中,視圖推薦單元,用于根據每個候選物化視圖的質量,對多個候選物化視圖進行排序,獲得排序結果;視圖推薦單元,用于從排序結果中選擇出成本低于成本閾值的候選物化視圖對應的目標子查詢,獲得推薦結果。
44、在一可能的實現方式中,多個候選子查詢包括多個單表候選子查詢;生成單元,用于從多個子查詢中篩選出多個第一子查詢,第一子查詢是從單個表中查詢數據的子查詢;生成單元,用于確定多個第一子查詢涉及的多個字段,從多個字段中獲取目標字段,目標字段是在多個第一子查詢中出現頻率高于頻率閾值的字段,目標字段的數量是一個或者多個;生成單元,用于從多個第一子查詢中獲取多個單表候選子查詢,單表候選子查詢包括至少一個目標字段。
45、在一可能的實現方式中,多個候選子查詢包括多個多表候選子查詢;生成單元,用于從多個子查詢中篩選出多個第二子查詢,第二子查詢是從相互關聯的多個表中查詢數據的子查詢;生成單元,用于將包含相同算子的多個第二子查詢進行合并,獲得多個合并結果;生成單元,用于根據合并結果獲得多個多表候選子查詢,其中,一個多表候選子查詢對應一個合并結果。
46、在一可能的實現方式中,生成單元,用于確定根據多個單表候選子查詢創建的多個第一候選物化視圖的質量,確定根據多個多表候選子查詢創建的多個第二候選物化視圖的質量;生成單元,用于根據多個第一候選物化視圖的質量和多個第二候選物化視圖的質量,獲得多個候選子查詢。
47、在一可能的實現方式中,候選物化視圖的成本是基于成本估計模型確定的,成本估計模型是使用樣本集進行訓練后獲得的,樣本集包括輸入樣本和標簽,輸入樣本包括已知候選物化視圖的第一執行計劃,標簽包括已知候選物化視圖的成本。
48、在一可能的實現方式中,輸入樣本還包括第二執行計劃以及第三執行計劃,其中,第二執行計劃是指創建已知物化視圖后,執行已知查詢請求時的執行計劃,第三執行計劃是指不使用已知物化視圖時,執行已知查詢請求時的執行計劃。
49、在一可能的實現方式中,輸入樣本還包括資源使用信息和表結構信息,資源使用信息包括執行第一執行計劃的資源使用信息、執行第二執行計劃的資源使用信息以及執行第三執行計劃的資源使用信息;資源使用信息包括中央處理器cpu使用情況、內存使用情況、磁盤輸入輸出io操作情況、網絡帶寬使用情況、運行時間中的一種或者多種;表結構信息包括已知物化視圖涉及的表的列信息、約束信息、索引信息、分區信息中的一種或者多種。
50、在一可能的實現方式中,視圖推薦單元,用于根據候選物化視圖的參數信息確定候選物化視圖的質量,參數信息包括候選物化視圖命中的查詢請求的數量、涉及的表的數量、表的大小、視圖中的謂詞數量中的一種或者多種。
51、第二方面或第二方面任意一種實現方式是第一方面或第一方面任意一種實現方式對應的裝置的步驟實現,第一方面或第一方面任意一種實現方式中的描述適用于第二方面或第二方面任意一種實現方式,在此不再贅述。
52、第三方面,提供了一種計算設備,包括處理器和存儲器,存儲器用于存儲代碼,處理器用于執行代碼,以使得計算設備實現第一方面及第一方面任一種可能的實現方式所揭示的方法。實現如第一方面描述的方法。
53、第四方面,本技術提供一種計算設備集群,包括至少一個計算設備,每個計算設備包括處理器和存儲器;至少一個計算設備的處理器用于執行至少一個計算設備的存儲器中存儲的指令,以使得計算設備集群實現第一方面及第一方面任一種可能的實現方式所揭示的方法。
54、第五方面,本技術提供一種包含指令的計算機程序產品,當指令被計算設備或者計算設備集群運行時,使得計算設備或者計算設備集群實現第一方面及第一方面任一種可能的實現方式所揭示的方法。
55、第六方面,本技術提供一種計算機可讀存儲介質,包括計算機程序指令,當計算機程序指令由計算設備或者計算設備集群執行時,使得計算設備或者計算設備集群執行第一方面及第一方面任一種可能的實現方式所揭示的方法。
56、本技術在上述各方面提供的實現方式的基礎上,還可以進行進一步組合以提供更多實現方式。