System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內(nèi)的位置。 參數(shù)名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現(xiàn)步驟摘要】
本專利技術涉數(shù)據(jù)庫分區(qū)及,尤其涉及一種數(shù)據(jù)庫分區(qū)表分區(qū)統(tǒng)計信息的收集方法和系統(tǒng)及裝置。
技術介紹
1、opengauss數(shù)據(jù)庫支持獲取表的統(tǒng)計信息,即對表的字段在pg_statistic系統(tǒng)表中生成一個對應的統(tǒng)計信息元組,該元組從直方圖、高頻值、相關系數(shù)等各個角度描述了該字段的數(shù)據(jù)分布。在查詢場景的計劃階段,統(tǒng)計信息用來計算基于單個列的約束條件的選擇率,各個掃描路徑根據(jù)選擇率進行代價估算,選擇合適的掃描路徑。
2、對于分區(qū)表,opengauss數(shù)據(jù)庫只記錄了整張表的統(tǒng)計信息,而分區(qū)表每個分區(qū)的統(tǒng)計信息則沒有記錄。在分區(qū)個數(shù)多、分區(qū)表數(shù)據(jù)量大的場景下,由于對整張分區(qū)表的采樣數(shù)據(jù)有限,生成的統(tǒng)計信息誤差較大,對查詢條件的選擇率計算與實際數(shù)據(jù)分布有較大區(qū)別,此時各個掃描路徑根據(jù)選擇率的代價估算結果會不精確,導致選擇效率較低的掃描方式。
3、因此,如何提供一種數(shù)據(jù)庫分區(qū)表分區(qū)統(tǒng)計信息的收集方法,對每個分區(qū)都生成統(tǒng)計信息,提高計算查詢條件在分區(qū)的選擇率的準確性,提高分區(qū)表估算成本的準確性,選擇合適的掃描路徑,成為亟待解決的技術問題。
技術實現(xiàn)思路
1、有鑒于此,為了克服現(xiàn)有技術的不足,本專利技術旨在提供一種數(shù)據(jù)庫分區(qū)表分區(qū)統(tǒng)計信息的收集方法和系統(tǒng)及裝置。
2、根據(jù)本專利技術的第一方面,提供一種數(shù)據(jù)庫分區(qū)表分區(qū)統(tǒng)計信息的收集方法,該方法包括:
3、查詢表分區(qū)屬性,根據(jù)查詢的表分區(qū)屬性的值,判定分區(qū)表;
4、為判定的分區(qū)表構建對應的分區(qū)
5、遍歷分區(qū)oid列表,根據(jù)分區(qū)oid列表中的分區(qū)oid獲取對應分區(qū)的統(tǒng)計信息。
6、優(yōu)選地,本專利技術的數(shù)據(jù)庫分區(qū)表分區(qū)統(tǒng)計信息的收集方法中,查詢表分區(qū)屬性,根據(jù)查詢的表分區(qū)屬性的值,判定分區(qū)表,包括:接收用于分區(qū)統(tǒng)計信息收集的analyze表名語句,根據(jù)analyze表名語句中的表名在pg_class系統(tǒng)表中查詢表分區(qū)屬性,根據(jù)表分區(qū)屬性的值對分區(qū)表進行判定。
7、優(yōu)選地,本專利技術的數(shù)據(jù)庫分區(qū)表分區(qū)統(tǒng)計信息的收集方法中,當查詢的表分區(qū)屬性的值為p,將所述表名對應的表判定為一級分區(qū)表,當查詢的表分區(qū)屬性為s,將所述表名對應的表判定為二級分區(qū)表。
8、優(yōu)選地,本專利技術的數(shù)據(jù)庫分區(qū)表分區(qū)統(tǒng)計信息的收集方法中,當查詢的表分區(qū)屬性的值不為p且不為s,將所述表名對應的表判定為非分區(qū)表,終止收集流程的執(zhí)行。
9、優(yōu)選地,本專利技術的數(shù)據(jù)庫分區(qū)表分區(qū)統(tǒng)計信息的收集方法中,為判定的分區(qū)表構建對應的分區(qū)oid列表,包括:獲取分區(qū)表的分區(qū)oid,根據(jù)獲取的分區(qū)oid為每個分區(qū)表構建對應的分區(qū)oid列表。
10、優(yōu)選地,本專利技術的數(shù)據(jù)庫分區(qū)表分區(qū)統(tǒng)計信息的收集方法中,遍歷分區(qū)oid列表,根據(jù)分區(qū)oid列表中的分區(qū)oid獲取對應分區(qū)的統(tǒng)計信息,包括:
11、根據(jù)分區(qū)oid獲取分區(qū)對應的數(shù)據(jù)文件,根據(jù)獲取的數(shù)據(jù)文件統(tǒng)計分區(qū)數(shù)據(jù)頁的數(shù)量,將分區(qū)數(shù)據(jù)頁的數(shù)量更新至pg_partition系統(tǒng)表中;
12、根據(jù)分區(qū)oid在pg_attribute系統(tǒng)表中查詢分區(qū)表的字段信息;
13、計算分區(qū)需要的采樣行數(shù),通過掃描分區(qū)獲取與采樣行數(shù)對應的采樣元組;
14、根據(jù)分區(qū)數(shù)據(jù)頁的數(shù)量、采樣行數(shù)以及掃描分區(qū)時掃描的數(shù)據(jù)頁總數(shù)計算分區(qū)的總行數(shù),將分區(qū)的總行數(shù)更新至pg_partition系統(tǒng)表中;
15、根據(jù)采樣元組與分區(qū)表的字段信息,對采樣元組中每個字段進行分析,獲取字段對應的數(shù)據(jù)分布信息,將獲取的數(shù)據(jù)分布信息更新至pg_statistic系統(tǒng)表中。
16、優(yōu)選地,本專利技術的數(shù)據(jù)庫分區(qū)表分區(qū)統(tǒng)計信息的收集方法中,根據(jù)獲取的數(shù)據(jù)文件統(tǒng)計分區(qū)數(shù)據(jù)頁的數(shù)量,包括:獲取數(shù)據(jù)文件占用的磁盤空間值以及數(shù)據(jù)頁占用的存儲空間值,計算數(shù)據(jù)文件占用的磁盤空間值以及數(shù)據(jù)頁占用的存儲空間值得比值,將所述比值進行加1處理,獲得分區(qū)數(shù)據(jù)頁的數(shù)量。
17、優(yōu)選地,本專利技術的數(shù)據(jù)庫分區(qū)表分區(qū)統(tǒng)計信息的收集方法中,根據(jù)分區(qū)數(shù)據(jù)頁的數(shù)量、采樣行數(shù)以及掃描分區(qū)時掃描的數(shù)據(jù)頁總數(shù)計算分區(qū)的總行數(shù),包括:計算采樣行數(shù)與掃描分區(qū)時掃描的數(shù)據(jù)頁總數(shù)的比值,將所述比值與分區(qū)數(shù)據(jù)頁的數(shù)量的乘積作為分區(qū)的總行數(shù)。
18、優(yōu)選地,本專利技術的數(shù)據(jù)庫分區(qū)表分區(qū)統(tǒng)計信息的收集方法中,數(shù)據(jù)分布式信息包括直方圖信息、高頻值信息以及相關系數(shù)信息。
19、根據(jù)本專利技術的第二方面,提供一種數(shù)據(jù)庫分區(qū)表分區(qū)統(tǒng)計信息的收集系統(tǒng),該系統(tǒng)包括收集服務端,該收集服務端用于:查詢表分區(qū)屬性,根據(jù)查詢的表分區(qū)屬性的值,判定分區(qū)表;為判定的分區(qū)表構建對應的分區(qū)oid列表;遍歷分區(qū)oid列表,根據(jù)分區(qū)oid列表中的分區(qū)oid獲取對應分區(qū)的統(tǒng)計信息。
20、根據(jù)本專利技術的第三方面,提供一種計算機設備,包括存儲器、處理器及存儲在所述存儲器上并可在所述處理器上運行的計算機程序,所述處理器執(zhí)行所述程序時實現(xiàn)本專利技術第一方面所述的方法。
21、本專利技術的數(shù)據(jù)庫分區(qū)表分區(qū)統(tǒng)計信息的收集方法和系統(tǒng)及裝置,可以為查詢計劃提供更加全面、準確的統(tǒng)計信息,提高計算查詢條件在分區(qū)的選擇率的準確性,從而提高分區(qū)表估算成本的準確性和效率。
本文檔來自技高網(wǎng)...【技術保護點】
1.一種數(shù)據(jù)庫分區(qū)表分區(qū)統(tǒng)計信息的收集方法,其特征在于,所述方法包括:查詢表分區(qū)屬性,根據(jù)查詢的表分區(qū)屬性的值,判定分區(qū)表;
2.根據(jù)權利要求1所述的數(shù)據(jù)庫分區(qū)表分區(qū)統(tǒng)計信息的收集方法,其特征在于,查詢表分區(qū)屬性,根據(jù)查詢的表分區(qū)屬性的值,判定分區(qū)表,包括:接收用于分區(qū)統(tǒng)計信息收集的analyze表名語句,根據(jù)analyze表名語句中的表名在pg_class系統(tǒng)表中查詢表分區(qū)屬性,根據(jù)表分區(qū)屬性的值對分區(qū)表進行判定。
3.根據(jù)權利要求2所述的數(shù)據(jù)庫分區(qū)表分區(qū)統(tǒng)計信息的收集方法,其特征在于,當查詢的表分區(qū)屬性的值為p,將所述表名對應的表判定為一級分區(qū)表,當查詢的表分區(qū)屬性為s,將所述表名對應的表判定為二級分區(qū)表。
4.根據(jù)權利要求2所述的數(shù)據(jù)庫分區(qū)表分區(qū)統(tǒng)計信息的收集方法,其特征在于,當查詢的表分區(qū)屬性的值不為p且不為s,將所述表名對應的表判定為非分區(qū)表,終止收集流程的執(zhí)行。
5.根據(jù)權利要求1所述的數(shù)據(jù)庫分區(qū)表分區(qū)統(tǒng)計信息的收集方法,其特征在于,為判定的分區(qū)表構建對應的分區(qū)OID列表,包括:獲取分區(qū)表的分區(qū)OID,根據(jù)獲取的分區(qū)OI
6.根據(jù)權利要求1所述的數(shù)據(jù)庫分區(qū)表分區(qū)統(tǒng)計信息的收集方法,其特征在于,遍歷分區(qū)OID列表,根據(jù)分區(qū)OID列表中的分區(qū)OID獲取對應分區(qū)的統(tǒng)計信息,包括:
7.根據(jù)權利要求6所述的數(shù)據(jù)庫分區(qū)表分區(qū)統(tǒng)計信息的收集方法,其特征在于,根據(jù)獲取的數(shù)據(jù)文件統(tǒng)計分區(qū)數(shù)據(jù)頁的數(shù)量,包括:獲取數(shù)據(jù)文件占用的磁盤空間值以及數(shù)據(jù)頁占用的存儲空間值,計算數(shù)據(jù)文件占用的磁盤空間值以及數(shù)據(jù)頁占用的存儲空間值得比值,將所述比值進行加1處理,獲得分區(qū)數(shù)據(jù)頁的數(shù)量。
8.根據(jù)權利要求6所述的數(shù)據(jù)庫分區(qū)表分區(qū)統(tǒng)計信息的收集方法,其特征在于,根據(jù)分區(qū)數(shù)據(jù)頁的數(shù)量、采樣行數(shù)以及掃描分區(qū)時掃描的數(shù)據(jù)頁總數(shù)計算分區(qū)的總行數(shù),包括:計算采樣行數(shù)與掃描分區(qū)時掃描的數(shù)據(jù)頁總數(shù)的比值,將所述比值與分區(qū)數(shù)據(jù)頁的數(shù)量的乘積作為分區(qū)的總行數(shù)。
9.根據(jù)權利要求6所述的數(shù)據(jù)庫分區(qū)表分區(qū)統(tǒng)計信息的收集方法,其特征在于,數(shù)據(jù)分布式信息包括直方圖信息、高頻值信息以及相關系數(shù)信息。
10.一種數(shù)據(jù)庫分區(qū)表分區(qū)統(tǒng)計信息的收集系統(tǒng),其特征在于,所述系統(tǒng)包括收集服務端,所述收集服務端用于:查詢表分區(qū)屬性,根據(jù)查詢的表分區(qū)屬性的值,判定分區(qū)表;為判定的分區(qū)表構建對應的分區(qū)OID列表;遍歷分區(qū)OID列表,根據(jù)分區(qū)OID列表中的分區(qū)OID獲取對應分區(qū)的統(tǒng)計信息。
...【技術特征摘要】
1.一種數(shù)據(jù)庫分區(qū)表分區(qū)統(tǒng)計信息的收集方法,其特征在于,所述方法包括:查詢表分區(qū)屬性,根據(jù)查詢的表分區(qū)屬性的值,判定分區(qū)表;
2.根據(jù)權利要求1所述的數(shù)據(jù)庫分區(qū)表分區(qū)統(tǒng)計信息的收集方法,其特征在于,查詢表分區(qū)屬性,根據(jù)查詢的表分區(qū)屬性的值,判定分區(qū)表,包括:接收用于分區(qū)統(tǒng)計信息收集的analyze表名語句,根據(jù)analyze表名語句中的表名在pg_class系統(tǒng)表中查詢表分區(qū)屬性,根據(jù)表分區(qū)屬性的值對分區(qū)表進行判定。
3.根據(jù)權利要求2所述的數(shù)據(jù)庫分區(qū)表分區(qū)統(tǒng)計信息的收集方法,其特征在于,當查詢的表分區(qū)屬性的值為p,將所述表名對應的表判定為一級分區(qū)表,當查詢的表分區(qū)屬性為s,將所述表名對應的表判定為二級分區(qū)表。
4.根據(jù)權利要求2所述的數(shù)據(jù)庫分區(qū)表分區(qū)統(tǒng)計信息的收集方法,其特征在于,當查詢的表分區(qū)屬性的值不為p且不為s,將所述表名對應的表判定為非分區(qū)表,終止收集流程的執(zhí)行。
5.根據(jù)權利要求1所述的數(shù)據(jù)庫分區(qū)表分區(qū)統(tǒng)計信息的收集方法,其特征在于,為判定的分區(qū)表構建對應的分區(qū)oid列表,包括:獲取分區(qū)表的分區(qū)oid,根據(jù)獲取的分區(qū)oid為每個分區(qū)表構建對應的分區(qū)oid列表。
6.根據(jù)權利要求1所述的數(shù)據(jù)庫分區(qū)表分區(qū)統(tǒng)計信息的收...
【專利技術屬性】
技術研發(fā)人員:陳雨純,何小棟,
申請(專利權)人:北京海量數(shù)據(jù)技術股份有限公司,
類型:發(fā)明
國別省市:
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。