數(shù)據(jù)倉(cāng)庫(kù)中的索引統(tǒng)計(jì)信息處理方法及裝置制造方法
【專利摘要】本發(fā)明公開了一種數(shù)據(jù)倉(cāng)庫(kù)中的索引統(tǒng)計(jì)信息處理方法及裝置。該方法包括:獲取數(shù)據(jù)倉(cāng)庫(kù)中的索引統(tǒng)計(jì)信息;檢測(cè)該索引統(tǒng)計(jì)信息的預(yù)估行數(shù),其中,該預(yù)估行數(shù)是該索引統(tǒng)計(jì)信息中成員值總數(shù)與該索引統(tǒng)計(jì)信息中成員值密度的比值,該成員值總數(shù)用于表示成員值的總數(shù)量;獲取處理時(shí)間段內(nèi)該索引統(tǒng)計(jì)信息的數(shù)據(jù)總數(shù);通過(guò)該預(yù)估行數(shù)與該數(shù)據(jù)總數(shù)的差值,判斷該索引統(tǒng)計(jì)信息是否需要進(jìn)行更新;在該索引統(tǒng)計(jì)信息需要進(jìn)行更新的情況下,對(duì)該索引統(tǒng)計(jì)信息進(jìn)行更新。通過(guò)本發(fā)明,解決了由于數(shù)據(jù)倉(cāng)庫(kù)的索引統(tǒng)計(jì)信息不能及時(shí)更新,造成索引統(tǒng)計(jì)信息不準(zhǔn)確的問(wèn)題,達(dá)到了讓數(shù)據(jù)倉(cāng)庫(kù)的索引統(tǒng)計(jì)信息及時(shí)進(jìn)行更新,使索引統(tǒng)計(jì)信息更加準(zhǔn)確的效果。
【專利說(shuō)明】數(shù)據(jù)倉(cāng)庫(kù)中的索引統(tǒng)計(jì)信息處理方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)處理領(lǐng)域,具體而言,涉及一種數(shù)據(jù)倉(cāng)庫(kù)中的索引統(tǒng)計(jì)信息處理方法及裝置。
【背景技術(shù)】
[0002]數(shù)據(jù)倉(cāng)庫(kù)是一種通用數(shù)據(jù)處理系統(tǒng),可以存儲(chǔ)一個(gè)應(yīng)用領(lǐng)域的有關(guān)數(shù)據(jù)的集合。數(shù)據(jù)倉(cāng)庫(kù)中的數(shù)據(jù)是為眾多用戶所共享其信息而建立的,已經(jīng)擺脫了具體程序的限制和制約。不同的用戶可以按各自的用法使用數(shù)據(jù)庫(kù)中的數(shù)據(jù)。多個(gè)用戶可以同時(shí)共享數(shù)據(jù)庫(kù)中的數(shù)據(jù)資源,即不同的用戶可以同時(shí)存取數(shù)據(jù)庫(kù)中的同一個(gè)數(shù)據(jù)。數(shù)據(jù)共享性不僅滿足了各用戶對(duì)信息內(nèi)容的要求,同時(shí)也滿足了各用戶之間信息通信的要求。
[0003]至微軟推出SQL Server以來(lái),SQL Server作為一個(gè)全面的、集成的、端到端的數(shù)據(jù)解決方案,它為用戶提供一個(gè)更安全可靠和高效的平臺(tái)用于企業(yè)數(shù)據(jù)。SQL Server允許創(chuàng)建有關(guān)列中值的分布情況的統(tǒng)計(jì)信息。使用這些統(tǒng)計(jì)信息并通過(guò)估計(jì)使用索引評(píng)估來(lái)確定最佳的執(zhí)行計(jì)劃。創(chuàng)建統(tǒng)計(jì)信息后,數(shù)據(jù)倉(cāng)庫(kù)引擎對(duì)成員值進(jìn)行排序,并根據(jù)這些成員值而創(chuàng)建一個(gè)“直方圖”。在創(chuàng)建索引為表或視圖上的索引創(chuàng)建統(tǒng)計(jì)信息。這些統(tǒng)計(jì)信息將創(chuàng)建在索引的鍵列上。如果索引是一個(gè)篩選索引,將在為該篩選索引指定的行的同一子集上創(chuàng)建篩選統(tǒng)計(jì)信息。
[0004]SQL Server里索引統(tǒng)計(jì)信息會(huì)被應(yīng)用到執(zhí)行計(jì)劃生成的階段,執(zhí)行計(jì)劃生成時(shí),會(huì)根據(jù)索引統(tǒng)計(jì)信息里的統(tǒng)計(jì)結(jié)果進(jìn)行預(yù)估,若是索引統(tǒng)計(jì)信息不準(zhǔn)確,會(huì)造成預(yù)估值與真實(shí)值差異很大,從而有可能會(huì)得到糟糕的執(zhí)行計(jì)劃,現(xiàn)有技術(shù)中,雖然SqlServer里有AutoStats的索引統(tǒng)計(jì)信息自動(dòng)更新機(jī)制,但其更新在沒有滿足一定數(shù)據(jù)時(shí)是不會(huì)觸發(fā)更新的,對(duì)于數(shù)據(jù)倉(cāng)庫(kù)技術(shù)而言,隨著每天數(shù)據(jù)的增量,越到后面越不容易觸發(fā)數(shù)據(jù)倉(cāng)庫(kù)進(jìn)行自動(dòng)更新,另外,即使數(shù)據(jù)倉(cāng)庫(kù)進(jìn)行自動(dòng)更新,由于是對(duì)索引統(tǒng)計(jì)信息抽樣進(jìn)行預(yù)估,得到的預(yù)估數(shù)據(jù)也有可能與真實(shí)值相差很大。
[0005]針對(duì)相關(guān)技術(shù)中數(shù)據(jù)倉(cāng)庫(kù)的索引統(tǒng)計(jì)信息不能及時(shí)更新,造成預(yù)估數(shù)據(jù)不準(zhǔn)確的問(wèn)題,目如尚未提出有效的解決方案。
【發(fā)明內(nèi)容】
[0006]本發(fā)明的主要目的在于提供一種數(shù)據(jù)倉(cāng)庫(kù)中的索引統(tǒng)計(jì)信息處理方法及裝置,以解決數(shù)據(jù)倉(cāng)庫(kù)的索引統(tǒng)計(jì)信息不能及時(shí)更新,造成索引統(tǒng)計(jì)信息不準(zhǔn)確的問(wèn)題。
[0007]為了實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的一個(gè)方面,提供了數(shù)據(jù)倉(cāng)庫(kù)中的索引統(tǒng)計(jì)信息處理方法,該方法包括:獲取數(shù)據(jù)倉(cāng)庫(kù)中的索引統(tǒng)計(jì)信息;檢測(cè)該索引統(tǒng)計(jì)信息的預(yù)估行數(shù),其中,該預(yù)估行數(shù)是該索引統(tǒng)計(jì)信息中成員值總數(shù)與該索引統(tǒng)計(jì)信息中成員值密度的比值,該成員值總數(shù)用于表示成員值的總數(shù)量;獲取處理時(shí)間段內(nèi)該索引統(tǒng)計(jì)信息的數(shù)據(jù)總數(shù),其中,該處理時(shí)間段是預(yù)先對(duì)該索引統(tǒng)計(jì)信息進(jìn)行設(shè)置的處理時(shí)間周期;通過(guò)該預(yù)估行數(shù)與該數(shù)據(jù)總數(shù)的差值,判斷該索引統(tǒng)計(jì)信息是否需要進(jìn)行更新;以及在該索引統(tǒng)計(jì)信息需要進(jìn)行更新的情況下,對(duì)該索引統(tǒng)計(jì)信息進(jìn)行更新。
[0008]進(jìn)一步地,檢測(cè)該索引統(tǒng)計(jì)信息的預(yù)估行數(shù)包括:選取處理時(shí)間段中該索引統(tǒng)計(jì)信息里的直方圖,其中,該處理時(shí)間段是預(yù)先對(duì)該索引統(tǒng)計(jì)信息進(jìn)行設(shè)置的處理時(shí)間周期;檢測(cè)該索引統(tǒng)計(jì)信息的直方圖數(shù)據(jù);以及通過(guò)該直方圖數(shù)據(jù),獲取該索引統(tǒng)計(jì)信息的預(yù)估行數(shù)。
[0009]進(jìn)一步地,通過(guò)該預(yù)估行數(shù)與該數(shù)據(jù)總數(shù)的差值,判斷該索引統(tǒng)計(jì)信息是否需要進(jìn)行更新包括:判斷該預(yù)估行數(shù)與該數(shù)據(jù)總數(shù)的差值是否超過(guò)預(yù)設(shè)閾值;如果該預(yù)估行數(shù)與該數(shù)據(jù)總數(shù)的差值超過(guò)預(yù)設(shè)閾值,判定該索引統(tǒng)計(jì)信息不準(zhǔn)確,需要對(duì)該索引統(tǒng)計(jì)信息進(jìn)行更新;以及如果該預(yù)估行數(shù)與該數(shù)據(jù)總數(shù)的差值沒有超過(guò)預(yù)設(shè)閾值,判定該索引統(tǒng)計(jì)信息準(zhǔn)確,不需要對(duì)該索引統(tǒng)計(jì)信息進(jìn)行更新。
[0010]進(jìn)一步地,在該索引統(tǒng)計(jì)信息需要進(jìn)行更新的情況下,對(duì)該索引統(tǒng)計(jì)信息進(jìn)行更新包括:檢測(cè)該數(shù)據(jù)倉(cāng)庫(kù)的采樣率;通過(guò)該采樣率對(duì)該數(shù)據(jù)倉(cāng)庫(kù)進(jìn)行采樣;將該采樣率對(duì)該數(shù)據(jù)倉(cāng)庫(kù)進(jìn)行采樣抽取出的統(tǒng)計(jì)信息對(duì)該索引統(tǒng)計(jì)信息進(jìn)行更新。
[0011]進(jìn)一步地,在該索引統(tǒng)計(jì)信息需要進(jìn)行更新的情況下,對(duì)該索引統(tǒng)計(jì)信息進(jìn)行更新之后包括:檢測(cè)該更新后的索引統(tǒng)計(jì)信息的預(yù)估行數(shù);獲取處理時(shí)間段內(nèi)該更新后的索引統(tǒng)計(jì)信息的數(shù)據(jù)總數(shù);通過(guò)該預(yù)估行數(shù)與該數(shù)據(jù)總數(shù)的差值,判斷該更新后的索引統(tǒng)計(jì)信息是否需要進(jìn)行更新;以及在該更新后的索引統(tǒng)計(jì)信息需要更新的情況下,按照全掃描的方式對(duì)該更新后的索引統(tǒng)計(jì)信息進(jìn)行更新或按照該數(shù)據(jù)倉(cāng)庫(kù)的采樣率遞增的方式對(duì)該更新后的索引統(tǒng)計(jì)信息進(jìn)行更新。
[0012]為了實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的另一方面,提供了一種數(shù)據(jù)倉(cāng)庫(kù)中的索引統(tǒng)計(jì)信息處理裝置,該裝置包括:第一獲取單元,用于獲取數(shù)據(jù)倉(cāng)庫(kù)中的索引統(tǒng)計(jì)信息;檢測(cè)單元,用于檢測(cè)該索引統(tǒng)計(jì)信息的預(yù)估行數(shù),其中,該預(yù)估行數(shù)是該索引統(tǒng)計(jì)信息中成員值總數(shù)與該索引統(tǒng)計(jì)信息中成員值密度的比值,該成員值總數(shù)用于表示成員值的總數(shù)量;第二獲取單元,用于獲取處理時(shí)間段內(nèi)該索引統(tǒng)計(jì)信息的數(shù)據(jù)總數(shù),其中,該處理時(shí)間段是預(yù)先對(duì)該索引統(tǒng)計(jì)信息進(jìn)行設(shè)置的處理時(shí)間周期;判斷單元,用于通過(guò)該預(yù)估行數(shù)與該數(shù)據(jù)總數(shù)的差值,判斷該索引統(tǒng)計(jì)信息是否需要進(jìn)行更新;以及更新單元,用于在該索引統(tǒng)計(jì)信息需要進(jìn)行更新的情況下,對(duì)該索引統(tǒng)計(jì)信息進(jìn)行更新。
[0013]進(jìn)一步地,檢測(cè)單元包括:第一獲取模塊,用于獲取處理時(shí)間段中該索引統(tǒng)計(jì)信息里的直方圖,其中,該處理時(shí)間段是預(yù)先對(duì)該索引統(tǒng)計(jì)信息進(jìn)行設(shè)置的處理時(shí)間周期;第一檢測(cè)模塊,用于檢測(cè)該索引統(tǒng)計(jì)信息的直方圖數(shù)據(jù);以及第二獲取模塊,用于根據(jù)該直方圖數(shù)據(jù),獲取該索引統(tǒng)計(jì)信息的預(yù)估行數(shù)。
[0014]進(jìn)一步地,判斷單元包括:第一判斷模塊,用于判斷該預(yù)估行數(shù)與該數(shù)據(jù)總數(shù)的差值是否超過(guò)預(yù)設(shè)閾值;第二判斷模塊,用于在該預(yù)估行數(shù)與該數(shù)據(jù)總數(shù)的差值超過(guò)預(yù)設(shè)閾值時(shí),判定該索引統(tǒng)計(jì)信息不準(zhǔn)確,需要對(duì)該索引統(tǒng)計(jì)信息進(jìn)行更新;在該預(yù)估行數(shù)與該數(shù)據(jù)總數(shù)的差值沒有超過(guò)預(yù)設(shè)閾值時(shí),判定該索引統(tǒng)計(jì)信息準(zhǔn)確,不需要對(duì)該索引統(tǒng)計(jì)信息進(jìn)行更新。
[0015]進(jìn)一步地,更新單元包括:第二檢測(cè)模塊,用于檢測(cè)該數(shù)據(jù)倉(cāng)庫(kù)的采樣率;采樣模塊,用于通過(guò)該采樣率對(duì)該數(shù)據(jù)倉(cāng)庫(kù)進(jìn)行采樣;第一更新模塊,用于將該采樣率對(duì)該數(shù)據(jù)倉(cāng)庫(kù)進(jìn)行采樣抽取出的統(tǒng)計(jì)信息對(duì)該索引統(tǒng)計(jì)信息進(jìn)行更新。
[0016]進(jìn)一步地,更新單元包括:第三檢測(cè)模塊,用于檢測(cè)該更新后的索引統(tǒng)計(jì)信息的預(yù)估行數(shù);第三獲取模塊,用于獲取處理時(shí)間段內(nèi)該更新后的索引統(tǒng)計(jì)信息的數(shù)據(jù)總數(shù);第三判斷模塊,用于通過(guò)該預(yù)估行數(shù)與該數(shù)據(jù)總數(shù)的差值,判斷該更新后的索引統(tǒng)計(jì)信息是否需要進(jìn)行更新;以及第二更新模塊,用于在該更新后的索引統(tǒng)計(jì)信息需要更新的情況下,按照全掃描的方式對(duì)該更新后的索引統(tǒng)計(jì)信息進(jìn)行更新或按照該數(shù)據(jù)倉(cāng)庫(kù)的采樣率遞增的方式對(duì)該更新后的索引統(tǒng)計(jì)信息進(jìn)行更新。
[0017]通過(guò)本發(fā)明提供的數(shù)據(jù)倉(cāng)庫(kù)中的索引統(tǒng)計(jì)信息處理方法,采用獲取數(shù)據(jù)倉(cāng)庫(kù)中的索引統(tǒng)計(jì)信息;檢測(cè)該索引統(tǒng)計(jì)信息的預(yù)估行數(shù);獲取處理時(shí)間段內(nèi)該索引統(tǒng)計(jì)信息的數(shù)據(jù)總數(shù);通過(guò)該預(yù)估行數(shù)與該數(shù)據(jù)總數(shù)的差值,判斷該索引統(tǒng)計(jì)信息是否需要進(jìn)行更新;以及在該索引統(tǒng)計(jì)信息需要進(jìn)行更新的情況下,對(duì)該索引統(tǒng)計(jì)信息進(jìn)行更新,解決了由于數(shù)據(jù)倉(cāng)庫(kù)的索引統(tǒng)計(jì)信息不能及時(shí)更新,造成索引統(tǒng)計(jì)信息不準(zhǔn)確的問(wèn)題,達(dá)到了讓數(shù)據(jù)倉(cāng)庫(kù)的索引統(tǒng)計(jì)信息及時(shí)進(jìn)行更新,使索引統(tǒng)計(jì)信息更加準(zhǔn)確的效果。
【專利附圖】
【附圖說(shuō)明】
[0018]構(gòu)成本申請(qǐng)的一部分的附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,本發(fā)明的示意性實(shí)施例及其說(shuō)明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中:
[0019]圖1是根據(jù)本發(fā)明的數(shù)據(jù)倉(cāng)庫(kù)中的索引統(tǒng)計(jì)信息處理方法的第一實(shí)施例的流程圖;
[0020]圖2是根據(jù)本發(fā)明的數(shù)據(jù)倉(cāng)庫(kù)中的索引統(tǒng)計(jì)信息處理方法的第二實(shí)施例的流程圖;
[0021]圖3是根據(jù)本發(fā)明的數(shù)據(jù)倉(cāng)庫(kù)中的索引統(tǒng)計(jì)信息處理方法的第三實(shí)施例的流程圖;
[0022]圖4是根據(jù)本發(fā)明的數(shù)據(jù)倉(cāng)庫(kù)中的索引統(tǒng)計(jì)信息處理方法的第四實(shí)施例的流程圖;
[0023]圖5是根據(jù)本發(fā)明的數(shù)據(jù)倉(cāng)庫(kù)中的索引統(tǒng)計(jì)信息處理方法的第五實(shí)施例的流程圖;
[0024]圖6是根據(jù)本發(fā)明的數(shù)據(jù)倉(cāng)庫(kù)中的索引統(tǒng)計(jì)信息處理裝置的第一實(shí)施例的示意圖;
[0025]圖7是根據(jù)本發(fā)明的數(shù)據(jù)倉(cāng)庫(kù)中的索引統(tǒng)計(jì)信息處理裝置的第二實(shí)施例的示意圖;
[0026]圖8是根據(jù)本發(fā)明的數(shù)據(jù)倉(cāng)庫(kù)中的索引統(tǒng)計(jì)信息處理裝置的第三實(shí)施例的示意圖;
[0027]圖9是根據(jù)本發(fā)明的數(shù)據(jù)倉(cāng)庫(kù)中的索引統(tǒng)計(jì)信息處理裝置的第四實(shí)施例的示意圖;以及
[0028]圖10是根據(jù)本發(fā)明的數(shù)據(jù)倉(cāng)庫(kù)中的索引統(tǒng)計(jì)信息處理裝置的第五實(shí)施例的示意圖。
【具體實(shí)施方式】
[0029]需要說(shuō)明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互組合。下面將參考附圖并結(jié)合實(shí)施例來(lái)詳細(xì)說(shuō)明本發(fā)明。
[0030]圖1是根據(jù)本發(fā)明的數(shù)據(jù)倉(cāng)庫(kù)中的索引統(tǒng)計(jì)信息處理方法的第一實(shí)施例的流程圖。如圖1所示,該數(shù)據(jù)倉(cāng)庫(kù)中的索引統(tǒng)計(jì)信息處理方法包括:
[0031]步驟S101,獲取數(shù)據(jù)倉(cāng)庫(kù)中的索引統(tǒng)計(jì)信息。
[0032]數(shù)據(jù)倉(cāng)庫(kù),英文名稱Data Warehouse,簡(jiǎn)稱DW或DWH,數(shù)據(jù)倉(cāng)庫(kù)是為企業(yè)所有級(jí)別的決策制度過(guò)程提高支持的所有類型數(shù)據(jù)的戰(zhàn)略。它是單個(gè)數(shù)據(jù)存儲(chǔ),成語(yǔ)分析性報(bào)告和決策支持的目的而創(chuàng)建,為企業(yè)提供需要業(yè)務(wù)智能來(lái)知道業(yè)務(wù)流程改進(jìn)和監(jiān)督時(shí)間、成本、質(zhì)量和控制。
[0033]索引統(tǒng)計(jì)信息是在數(shù)據(jù)倉(cāng)庫(kù)創(chuàng)建有關(guān)列中值的分布情況的統(tǒng)計(jì)信息。創(chuàng)建統(tǒng)計(jì)信息后,數(shù)據(jù)庫(kù)引擎對(duì)列值進(jìn)行排序,并根據(jù)這些值創(chuàng)建一個(gè)“直方圖”。直方圖指定有多少行精確匹配每個(gè)間隔值,有多少行在間隔范圍內(nèi),以及間隔中值的密度大小或重復(fù)值的發(fā)生率。
[0034]獲取數(shù)據(jù)倉(cāng)庫(kù)中的用戶關(guān)注的索引統(tǒng)計(jì)信息,即取出數(shù)據(jù)倉(cāng)庫(kù)中用戶關(guān)注的一部分索引統(tǒng)計(jì)信息進(jìn)行處理。這樣可以更快的判斷出索引統(tǒng)計(jì)信息是否準(zhǔn)確、是否需要更新。
[0035]步驟S102,檢測(cè)索引統(tǒng)計(jì)信息的預(yù)估行數(shù),其中,預(yù)估行數(shù)是索引統(tǒng)計(jì)信息中成員值總數(shù)與索引統(tǒng)計(jì)信息中成員值密度的比值,成員值總數(shù)用于表示成員值的總數(shù)量。
[0036]在數(shù)據(jù)倉(cāng)庫(kù)中,預(yù)估行數(shù)是索引統(tǒng)計(jì)信息中成員值總數(shù)與索引統(tǒng)計(jì)信息中成員值密度的比值。例如,在取10行索引統(tǒng)計(jì)信息,在這10行索引統(tǒng)計(jì)信息種有3個(gè)唯一值,唯一值即為索引統(tǒng)計(jì)信息中成員值中互不相同的值。那么成員值密度為0.3。如果知道成員值密度和成員值總數(shù),即可以計(jì)算出預(yù)估行數(shù),再檢測(cè)出索引統(tǒng)計(jì)信息的預(yù)估行數(shù)。
[0037]步驟S103,獲取處理時(shí)間段內(nèi)索引統(tǒng)計(jì)信息的數(shù)據(jù)總數(shù),其中,處理時(shí)間段是預(yù)先對(duì)索引統(tǒng)計(jì)信息進(jìn)行設(shè)置的處理時(shí)間周期。
[0038]設(shè)置對(duì)索引統(tǒng)計(jì)信息的處理周期,在數(shù)據(jù)倉(cāng)庫(kù)中獲取處理周期內(nèi)的索引統(tǒng)計(jì)信息。例如,如數(shù)據(jù)倉(cāng)庫(kù)里^sess1n會(huì)話表,要檢測(cè)其聚簇索引,假設(shè)發(fā)現(xiàn)其統(tǒng)計(jì)信息里不存在本批次所處理時(shí)間段內(nèi)的數(shù)據(jù),那么我們會(huì)發(fā)起一個(gè)查詢,統(tǒng)計(jì)一下處理時(shí)間段內(nèi)在E.Sess1n表里是否真的沒有數(shù)據(jù),如果是有數(shù)據(jù)的,則證明統(tǒng)計(jì)信息是不準(zhǔn)確的,需要做更新操作,這里所發(fā)起的查詢即為查詢,其Sql語(yǔ)句舉例如下:SELECT COUNT (*)FR0M E_Sess1n WHERE updatetime BETffEENiProcessBeginTime ANDOProcessEndTime。Sql 語(yǔ)句意義為:選取數(shù)據(jù)進(jìn)入E_Sess1n表的時(shí)間(updatetime)在時(shí)間段(ProcessBeginTime到ProcessEndTime之間)一共有多少數(shù)據(jù)記錄。獲取數(shù)據(jù)進(jìn)入E_Sess1n表的時(shí)間(updatetime)在時(shí)間段(ProcessBeginTime到ProcessEndTime之間)內(nèi)索引統(tǒng)計(jì)信息的數(shù)據(jù)總數(shù)。
[0039]步驟S104,通過(guò)預(yù)估行數(shù)與數(shù)據(jù)總數(shù)的差值,判斷索引統(tǒng)計(jì)信息是否需要進(jìn)行更新。
[0040]將預(yù)估行數(shù)與處理時(shí)間段內(nèi)索引統(tǒng)計(jì)信息的數(shù)據(jù)總數(shù)進(jìn)行比較,得到一個(gè)差值,判斷此差值是否在預(yù)設(shè)閾值內(nèi),如果此差值在預(yù)設(shè)閾值內(nèi),則說(shuō)明索引統(tǒng)計(jì)信息準(zhǔn)確,索引統(tǒng)計(jì)信息不需要進(jìn)行更新。如果此差值不在預(yù)設(shè)閾值內(nèi),則說(shuō)明索引統(tǒng)計(jì)信息不準(zhǔn)確,索引統(tǒng)計(jì)信息需要進(jìn)行更新。對(duì)數(shù)據(jù)倉(cāng)庫(kù)中的索引統(tǒng)計(jì)信息,差值在一個(gè)量級(jí)范圍內(nèi),就算差異不大。例如,預(yù)估行數(shù)是100,處理時(shí)間段內(nèi)索引統(tǒng)計(jì)信息的數(shù)據(jù)總數(shù)是1000000000,則此差異很大,說(shuō)明索引統(tǒng)計(jì)信息需要進(jìn)行更新。如果預(yù)估行數(shù)是2000000000,處理時(shí)間段內(nèi)索引統(tǒng)計(jì)信息的數(shù)據(jù)總數(shù)是3000000000,在一個(gè)量級(jí)范圍內(nèi),差異不大,說(shuō)明索引統(tǒng)計(jì)信息不需要進(jìn)行更新。通過(guò)比較將預(yù)估行數(shù)與處理時(shí)間段內(nèi)索引統(tǒng)計(jì)信息的數(shù)據(jù)總數(shù)差值,及時(shí)判斷出索引統(tǒng)計(jì)信息是否準(zhǔn)確,是否需要更新。
[0041]步驟S105,在索引統(tǒng)計(jì)信息需要進(jìn)行更新的情況下,對(duì)索引統(tǒng)計(jì)信息進(jìn)行更新。
[0042]通過(guò)預(yù)估行數(shù)與處理時(shí)間段內(nèi)索引統(tǒng)計(jì)信息的數(shù)據(jù)總數(shù)的比較,在判定索引統(tǒng)計(jì)信息需要進(jìn)行更新的情況下,對(duì)索引統(tǒng)計(jì)信息進(jìn)行更新。常見對(duì)索引統(tǒng)計(jì)信息更新方式有全掃描方式,即對(duì)數(shù)據(jù)倉(cāng)庫(kù)進(jìn)行一次全掃描,對(duì)整個(gè)數(shù)據(jù)倉(cāng)庫(kù)中數(shù)據(jù)進(jìn)行更新,從而達(dá)到了對(duì)索引統(tǒng)計(jì)信息的更新。但耗時(shí)長(zhǎng),占用內(nèi)存大。根據(jù)采樣率對(duì)數(shù)據(jù)倉(cāng)庫(kù)進(jìn)行更新,即在數(shù)據(jù)倉(cāng)庫(kù)中,根據(jù)采樣率對(duì)數(shù)據(jù)倉(cāng)庫(kù)進(jìn)行采樣,得到抽樣出來(lái)的統(tǒng)計(jì)信息,將抽樣出來(lái)的統(tǒng)計(jì)信息對(duì)索引統(tǒng)計(jì)信息進(jìn)行更新。例如,采樣率為1%,抽取數(shù)據(jù)倉(cāng)庫(kù)中1%的統(tǒng)計(jì)信息,將這1%的統(tǒng)計(jì)信息對(duì)索引統(tǒng)計(jì)信息進(jìn)行更新。如果索引統(tǒng)計(jì)信息仍然不準(zhǔn)確,取采樣率為10%對(duì)數(shù)據(jù)倉(cāng)庫(kù)進(jìn)行抽樣,將這10%的統(tǒng)計(jì)信息對(duì)索引統(tǒng)計(jì)信息再進(jìn)行更新。循環(huán)更新并檢測(cè),知道檢測(cè)到索引統(tǒng)計(jì)信息準(zhǔn)確不需要更新為止。
[0043]通過(guò)本發(fā)明提供的數(shù)據(jù)倉(cāng)庫(kù)中的索引統(tǒng)計(jì)信息處理方法,采用獲取數(shù)據(jù)倉(cāng)庫(kù)中的索引統(tǒng)計(jì)信息;檢測(cè)該索引統(tǒng)計(jì)信息的預(yù)估行數(shù),其中,該預(yù)估行數(shù)是該索引統(tǒng)計(jì)信息中成員值總數(shù)與該索引統(tǒng)計(jì)信息中成員值密度的比值,該成員值總數(shù)用于表示成員值的總數(shù)量;獲取處理時(shí)間段內(nèi)該索引統(tǒng)計(jì)信息的數(shù)據(jù)總數(shù),其中,該處理時(shí)間段是預(yù)先對(duì)該索引統(tǒng)計(jì)信息進(jìn)行設(shè)置的處理時(shí)間周期;通過(guò)該預(yù)估行數(shù)與該數(shù)據(jù)總數(shù)的差值,判斷該索引統(tǒng)計(jì)信息是否需要進(jìn)行更新;以及在該索引統(tǒng)計(jì)信息需要進(jìn)行更新的情況下,對(duì)該索引統(tǒng)計(jì)信息進(jìn)行更新。解決了由于數(shù)據(jù)倉(cāng)庫(kù)的索引統(tǒng)計(jì)信息不能及時(shí)更新,造成索引統(tǒng)計(jì)信息不準(zhǔn)確的問(wèn)題,達(dá)到了讓數(shù)據(jù)倉(cāng)庫(kù)的索引統(tǒng)計(jì)信息及時(shí)進(jìn)行更新,使索引統(tǒng)計(jì)信息更加準(zhǔn)確的效果。
[0044]圖2是根據(jù)本發(fā)明的數(shù)據(jù)倉(cāng)庫(kù)中的索引統(tǒng)計(jì)信息處理方法的第二實(shí)施例的流程圖。如圖2所示,該數(shù)據(jù)倉(cāng)庫(kù)中的索引統(tǒng)計(jì)信息處理方法包括:
[0045]步驟S201,獲取數(shù)據(jù)倉(cāng)庫(kù)中的索引統(tǒng)計(jì)信息。
[0046]該步驟同上述步驟S101。
[0047]步驟S202,選取處理時(shí)間段中索引統(tǒng)計(jì)信息里的直方圖,其中,處理時(shí)間段是預(yù)先對(duì)索引統(tǒng)計(jì)信息進(jìn)行設(shè)置的處理時(shí)間周期。
[0048]設(shè)置對(duì)索引統(tǒng)計(jì)信息的處理周期,選取處理時(shí)間段中索引統(tǒng)計(jì)信息里的直方圖,即是在數(shù)據(jù)倉(cāng)庫(kù)中獲取處理時(shí)間段中索引統(tǒng)計(jì)信息成員值的數(shù)據(jù)。
[0049]步驟S203,檢測(cè)索引統(tǒng)計(jì)信息的直方圖數(shù)據(jù)。
[0050]步驟S204,通過(guò)直方圖數(shù)據(jù),獲取索引統(tǒng)計(jì)信息的預(yù)估行數(shù)。
[0051]在數(shù)據(jù)倉(cāng)庫(kù)中,通過(guò)獲取的直方圖的數(shù)據(jù),確定統(tǒng)計(jì)信息成員值的密度和統(tǒng)計(jì)信息的成員值總數(shù),通過(guò)統(tǒng)計(jì)信息的成員值總數(shù)與統(tǒng)計(jì)信息成員值的密度的比值得到索引統(tǒng)計(jì)信息的預(yù)估行數(shù)。
[0052]步驟S205,獲取處理時(shí)間段內(nèi)索引統(tǒng)計(jì)信息的數(shù)據(jù)總數(shù),其中,處理時(shí)間段是預(yù)先對(duì)索引統(tǒng)計(jì)信息進(jìn)行設(shè)置的處理時(shí)間周期。
[0053]該步驟同上述步驟S103。
[0054]步驟S206,通過(guò)預(yù)估行數(shù)與數(shù)據(jù)總數(shù)的差值,判斷索引統(tǒng)計(jì)信息是否需要進(jìn)行更新。
[0055]該步驟同上述步驟S104。
[0056]步驟S207,在索引統(tǒng)計(jì)信息需要進(jìn)行更新的情況下,對(duì)索引統(tǒng)計(jì)信息進(jìn)行更新。
[0057]該步驟同上述步驟S105。
[0058]通過(guò)本發(fā)明提供的數(shù)據(jù)倉(cāng)庫(kù)中的索引統(tǒng)計(jì)信息處理方法,采用了獲取數(shù)據(jù)倉(cāng)庫(kù)中的索引統(tǒng)計(jì)信息;選取處理時(shí)間段中索引統(tǒng)計(jì)信息里的直方圖,其中,處理時(shí)間段是預(yù)先對(duì)索引統(tǒng)計(jì)信息進(jìn)行設(shè)置的處理時(shí)間周期;檢測(cè)索引統(tǒng)計(jì)信息的直方圖數(shù)據(jù);通過(guò)直方圖數(shù)據(jù),獲取索引統(tǒng)計(jì)信息的預(yù)估行數(shù);獲取處理時(shí)間段內(nèi)索引統(tǒng)計(jì)信息的數(shù)據(jù)總數(shù),其中,處理時(shí)間段是預(yù)先對(duì)索引統(tǒng)計(jì)信息進(jìn)行設(shè)置的處理時(shí)間周期;通過(guò)預(yù)估行數(shù)與數(shù)據(jù)總數(shù)的差值,判斷索引統(tǒng)計(jì)信息是否需要進(jìn)行更新。在索引統(tǒng)計(jì)信息需要進(jìn)行更新的情況下,對(duì)索引統(tǒng)計(jì)信息進(jìn)行更新。解決了由于數(shù)據(jù)倉(cāng)庫(kù)的索引統(tǒng)計(jì)信息不能及時(shí)更新,造成索引統(tǒng)計(jì)信息不準(zhǔn)確的問(wèn)題,達(dá)到了讓數(shù)據(jù)倉(cāng)庫(kù)的索引統(tǒng)計(jì)信息及時(shí)進(jìn)行更新,使索引統(tǒng)計(jì)信息更加準(zhǔn)確的效果。
[0059]圖3是根據(jù)本發(fā)明的數(shù)據(jù)倉(cāng)庫(kù)中的索引統(tǒng)計(jì)信息處理方法的第三實(shí)施例的流程圖。如圖3所示,該數(shù)據(jù)倉(cāng)庫(kù)中的索引統(tǒng)計(jì)信息處理方法包括:
[0060]步驟S301,獲取數(shù)據(jù)倉(cāng)庫(kù)中的索引統(tǒng)計(jì)信息。
[0061]該步驟同上述步驟S101。
[0062]步驟S302,檢測(cè)索引統(tǒng)計(jì)信息的預(yù)估行數(shù),其中,預(yù)估行數(shù)是索引統(tǒng)計(jì)信息中成員值總數(shù)與索引統(tǒng)計(jì)信息中成員值密度的比值,成員值總數(shù)用于表示成員值的總數(shù)量。
[0063]該步驟同上述步驟S102。
[0064]步驟S303,獲取處理時(shí)間段內(nèi)索引統(tǒng)計(jì)信息的數(shù)據(jù)總數(shù),其中,處理時(shí)間段是預(yù)先對(duì)索引統(tǒng)計(jì)信息進(jìn)行設(shè)置的處理時(shí)間周期。
[0065]該步驟同上述步驟S103。
[0066]步驟S304,判斷預(yù)估行數(shù)與數(shù)據(jù)總數(shù)的差值是否超過(guò)預(yù)設(shè)閾值。
[0067]步驟S305,如果預(yù)估行數(shù)與數(shù)據(jù)總數(shù)的差值超過(guò)預(yù)設(shè)閾值,判定索引統(tǒng)計(jì)信息不準(zhǔn)確,需要對(duì)索引統(tǒng)計(jì)信息進(jìn)行更新。
[0068]在數(shù)據(jù)倉(cāng)庫(kù)中,預(yù)估行數(shù)與處理時(shí)間段內(nèi)索引統(tǒng)計(jì)信息的數(shù)據(jù)總數(shù)的差值超過(guò)預(yù)設(shè)閾值,在此的預(yù)設(shè)閾值是指預(yù)先設(shè)定的一個(gè)數(shù)據(jù)量級(jí)。在此判斷差值就是判斷預(yù)估行數(shù)與處理時(shí)間段內(nèi)索引統(tǒng)計(jì)信息的數(shù)據(jù)總數(shù)是否在一個(gè)量級(jí)上。如預(yù)估行數(shù)為十萬(wàn),處理時(shí)間段內(nèi)索引統(tǒng)計(jì)信息的數(shù)據(jù)總數(shù)為百萬(wàn),不都在一個(gè)量級(jí)上,則說(shuō)明差值大。判定索引統(tǒng)計(jì)信息不準(zhǔn)確,需要對(duì)索引統(tǒng)計(jì)信息進(jìn)行更新。如預(yù)估行數(shù)與處理時(shí)間段內(nèi)索引統(tǒng)計(jì)信息的數(shù)據(jù)總數(shù)都在十萬(wàn)量級(jí)或百萬(wàn)量級(jí),都在一個(gè)量級(jí)上,則說(shuō)明差值不大。判定索引統(tǒng)計(jì)信息準(zhǔn)確,不需要對(duì)索引統(tǒng)計(jì)信息進(jìn)行更新。
[0069]步驟S306,在索引統(tǒng)計(jì)信息需要進(jìn)行更新的情況下,對(duì)索引統(tǒng)計(jì)信息進(jìn)行更新。
[0070]該步驟同上述步驟S105。
[0071]通過(guò)本發(fā)明提供的數(shù)據(jù)倉(cāng)庫(kù)中的索引統(tǒng)計(jì)信息處理方法,采用了獲取數(shù)據(jù)倉(cāng)庫(kù)中的索引統(tǒng)計(jì)信息;檢測(cè)索引統(tǒng)計(jì)信息的預(yù)估行數(shù),其中,預(yù)估行數(shù)是索引統(tǒng)計(jì)信息中成員值總數(shù)與索引統(tǒng)計(jì)信息中成員值密度的比值,成員值總數(shù)用于表示成員值的總數(shù)量;獲取處理時(shí)間段內(nèi)索引統(tǒng)計(jì)信息的數(shù)據(jù)總數(shù),其中,處理時(shí)間段是預(yù)先對(duì)索引統(tǒng)計(jì)信息進(jìn)行設(shè)置的處理時(shí)間周期;判斷預(yù)估行數(shù)與數(shù)據(jù)總數(shù)的差值是否超過(guò)預(yù)設(shè)閾值;如果預(yù)估行數(shù)與數(shù)據(jù)總數(shù)的差值超過(guò)預(yù)設(shè)閾值,判定索引統(tǒng)計(jì)信息不準(zhǔn)確,需要對(duì)索引統(tǒng)計(jì)信息進(jìn)行更新;如果預(yù)估行數(shù)與數(shù)據(jù)總數(shù)的差值沒有超過(guò)預(yù)設(shè)閾值,判定索引統(tǒng)計(jì)信息準(zhǔn)確,不需要對(duì)索引統(tǒng)計(jì)信息進(jìn)行更新。在索引統(tǒng)計(jì)信息需要進(jìn)行更新的情況下,對(duì)索引統(tǒng)計(jì)信息進(jìn)行更新。解決了由于數(shù)據(jù)倉(cāng)庫(kù)的索引統(tǒng)計(jì)信息不能及時(shí)更新,造成索引統(tǒng)計(jì)信息不準(zhǔn)確的問(wèn)題,達(dá)到了讓數(shù)據(jù)倉(cāng)庫(kù)的索引統(tǒng)計(jì)信息及時(shí)進(jìn)行更新,使索引統(tǒng)計(jì)信息更加準(zhǔn)確的效果。
[0072]圖4是根據(jù)本發(fā)明的數(shù)據(jù)倉(cāng)庫(kù)中的索引統(tǒng)計(jì)信息處理方法的第四實(shí)施例的流程圖。如圖4所示,該數(shù)據(jù)倉(cāng)庫(kù)中的索引統(tǒng)計(jì)信息處理方法包括:
[0073]步驟S401,獲取數(shù)據(jù)倉(cāng)庫(kù)中的索引統(tǒng)計(jì)信息。
[0074]該步驟同上述步驟S101。
[0075]步驟S402,檢測(cè)索引統(tǒng)計(jì)信息的預(yù)估行數(shù),其中,預(yù)估行數(shù)是索引統(tǒng)計(jì)信息中成員值總數(shù)與索引統(tǒng)計(jì)信息中成員值密度的比值,成員值總數(shù)用于表示成員值的總數(shù)量。
[0076]該步驟同上述步驟S102。
[0077]步驟S403,獲取處理時(shí)間段內(nèi)索引統(tǒng)計(jì)信息的數(shù)據(jù)總數(shù),其中,處理時(shí)間段是預(yù)先對(duì)索引統(tǒng)計(jì)信息進(jìn)行設(shè)置的處理時(shí)間周期。
[0078]該步驟同上述步驟S103。
[0079]步驟S404,通過(guò)預(yù)估行數(shù)與數(shù)據(jù)總數(shù)的差值,判斷索引統(tǒng)計(jì)信息是否需要進(jìn)行更新。
[0080]該步驟同上述步驟S101。
[0081]步驟S405,檢測(cè)數(shù)據(jù)倉(cāng)庫(kù)的采樣率。
[0082]在數(shù)據(jù)倉(cāng)庫(kù)中,采樣率是對(duì)數(shù)據(jù)倉(cāng)庫(kù)采樣的百分比。檢測(cè)出數(shù)據(jù)倉(cāng)庫(kù)中預(yù)先設(shè)置的采樣率。如果數(shù)據(jù)倉(cāng)庫(kù)沒有預(yù)先設(shè)置采樣率,即檢測(cè)出數(shù)據(jù)倉(cāng)庫(kù)中默認(rèn)的采樣率。
[0083]步驟S406,通過(guò)采樣率對(duì)數(shù)據(jù)倉(cāng)庫(kù)進(jìn)行采樣。
[0084]通過(guò)數(shù)據(jù)倉(cāng)庫(kù)中預(yù)先設(shè)置的采樣率或數(shù)據(jù)倉(cāng)庫(kù)中默認(rèn)的采樣率對(duì)數(shù)據(jù)倉(cāng)庫(kù)進(jìn)行采樣。例如,采樣率為10%,即對(duì)數(shù)據(jù)倉(cāng)庫(kù)中的統(tǒng)計(jì)信息按照采樣率為10%進(jìn)行采樣。
[0085]步驟S407,將采樣率對(duì)數(shù)據(jù)倉(cāng)庫(kù)進(jìn)行采樣抽取出的統(tǒng)計(jì)信息對(duì)索引統(tǒng)計(jì)信息進(jìn)行更新。
[0086]通過(guò)采樣率對(duì)數(shù)據(jù)倉(cāng)庫(kù)進(jìn)行采樣后,得到采樣抽取出的統(tǒng)計(jì)信息,將采樣抽取出的統(tǒng)計(jì)信息對(duì)不準(zhǔn)確的索引統(tǒng)計(jì)信息進(jìn)行更新。這樣實(shí)現(xiàn)了對(duì)數(shù)據(jù)倉(cāng)庫(kù)的索引統(tǒng)計(jì)信息及時(shí)進(jìn)行更新,使統(tǒng)計(jì)信息更加準(zhǔn)確。
[0087]通過(guò)本發(fā)明提供的數(shù)據(jù)倉(cāng)庫(kù)中的索引統(tǒng)計(jì)信息處理方法,采用了獲取數(shù)據(jù)倉(cāng)庫(kù)中的索引統(tǒng)計(jì)信息;檢測(cè)索引統(tǒng)計(jì)信息的預(yù)估行數(shù),其中,預(yù)估行數(shù)是索引統(tǒng)計(jì)信息中成員值總數(shù)與索引統(tǒng)計(jì)信息中成員值密度的比值,成員值總數(shù)用于表示成員值的總數(shù)量;獲取處理時(shí)間段內(nèi)索引統(tǒng)計(jì)信息的數(shù)據(jù)總數(shù),其中,處理時(shí)間段是預(yù)先對(duì)索引統(tǒng)計(jì)信息進(jìn)行設(shè)置的處理時(shí)間周期;通過(guò)預(yù)估行數(shù)與數(shù)據(jù)總數(shù)的差值,判斷索引統(tǒng)計(jì)信息是否需要進(jìn)行更新;檢測(cè)數(shù)據(jù)倉(cāng)庫(kù)的采樣率。通過(guò)采樣率對(duì)數(shù)據(jù)倉(cāng)庫(kù)進(jìn)行采樣;將采樣率對(duì)數(shù)據(jù)倉(cāng)庫(kù)進(jìn)行采樣抽取出的統(tǒng)計(jì)信息對(duì)索引統(tǒng)計(jì)信息進(jìn)行更新。解決了由于數(shù)據(jù)倉(cāng)庫(kù)的索引統(tǒng)計(jì)信息不能及時(shí)更新,造成索引統(tǒng)計(jì)信息不準(zhǔn)確的問(wèn)題,達(dá)到了讓數(shù)據(jù)倉(cāng)庫(kù)的索引統(tǒng)計(jì)信息及時(shí)進(jìn)行更新,使索引統(tǒng)計(jì)信息更加準(zhǔn)確的效果。
[0088]圖5是根據(jù)本發(fā)明的數(shù)據(jù)倉(cāng)庫(kù)中的索引統(tǒng)計(jì)信息處理方法的第五實(shí)施例的流程圖。如圖5所示,該數(shù)據(jù)倉(cāng)庫(kù)中的索引統(tǒng)計(jì)信息處理方法包括:
[0089]步驟S501,獲取數(shù)據(jù)倉(cāng)庫(kù)中的索引統(tǒng)計(jì)信息。
[0090]該步驟同上述步驟S101。
[0091]步驟S502,檢測(cè)索引統(tǒng)計(jì)信息的預(yù)估行數(shù),其中,預(yù)估行數(shù)是索引統(tǒng)計(jì)信息中成員值總數(shù)與索引統(tǒng)計(jì)信息中成員值密度的比值,成員值總數(shù)用于表示成員值的總數(shù)量。
[0092]該步驟同上述步驟S102。
[0093]步驟S503,獲取處理時(shí)間段內(nèi)索引統(tǒng)計(jì)信息的數(shù)據(jù)總數(shù),其中,處理時(shí)間段是預(yù)先對(duì)索引統(tǒng)計(jì)信息進(jìn)行設(shè)置的處理時(shí)間周期。
[0094]該步驟同上述步驟S103。
[0095]步驟S504,通過(guò)預(yù)估行數(shù)與數(shù)據(jù)總數(shù)的差值,判斷索引統(tǒng)計(jì)信息是否需要進(jìn)行更新。
[0096]該步驟同上述步驟S104。
[0097]步驟S505,在索引統(tǒng)計(jì)信息需要進(jìn)行更新的情況下,對(duì)索引統(tǒng)計(jì)信息進(jìn)行更新。
[0098]該步驟同上述步驟S105。
[0099]步驟S506,檢測(cè)更新后的索引統(tǒng)計(jì)信息的預(yù)估行數(shù)。
[0100]步驟S507,獲取處理時(shí)間段內(nèi)更新后的索引統(tǒng)計(jì)信息的數(shù)據(jù)總數(shù)。
[0101]步驟S508,通過(guò)預(yù)估行數(shù)與數(shù)據(jù)總數(shù)的差值,判斷更新后的索引統(tǒng)計(jì)信息是否需要進(jìn)行更新。
[0102]步驟S509,在更新后的索引統(tǒng)計(jì)信息需要更新的情況下,按照全掃描的方式對(duì)更新后的索引統(tǒng)計(jì)信息進(jìn)行更新或按照數(shù)據(jù)倉(cāng)庫(kù)的采樣率遞增的方式對(duì)更新后的索引統(tǒng)計(jì)信息進(jìn)行更新。
[0103]在更新后的索引統(tǒng)計(jì)信息需要更新的情況下,按照全掃描或采樣率遞增的方式索引統(tǒng)計(jì)信息進(jìn)行更新。全掃描方式是對(duì)整個(gè)數(shù)據(jù)倉(cāng)庫(kù)進(jìn)行掃描更新。采樣率遞增的方式如第一次采樣率取10%對(duì)數(shù)據(jù)倉(cāng)庫(kù)進(jìn)行更新,結(jié)果檢測(cè)索引統(tǒng)計(jì)信息仍然不準(zhǔn)確,第二次即采樣率取20%對(duì)數(shù)據(jù)倉(cāng)庫(kù)進(jìn)行更新,繼續(xù)檢測(cè)索引統(tǒng)計(jì)信息是否準(zhǔn)確。這樣循環(huán)檢測(cè)索引統(tǒng)計(jì)信息是否準(zhǔn)確,是否需要更新,在需要更新的情況下,采取不同方式對(duì)索引統(tǒng)計(jì)信息進(jìn)行更新。實(shí)現(xiàn)了及時(shí)對(duì)數(shù)據(jù)倉(cāng)庫(kù)的索引統(tǒng)計(jì)信息進(jìn)行更新,保證了統(tǒng)計(jì)信息的準(zhǔn)確性。
[0104]通過(guò)本發(fā)明提供的數(shù)據(jù)倉(cāng)庫(kù)中的索引統(tǒng)計(jì)信息處理方法,采用了獲取數(shù)據(jù)倉(cāng)庫(kù)中的索引統(tǒng)計(jì)信息;檢測(cè)索引統(tǒng)計(jì)信息的預(yù)估行數(shù),其中,預(yù)估行數(shù)是索引統(tǒng)計(jì)信息中成員值總數(shù)與索引統(tǒng)計(jì)信息中成員值密度的比值,成員值總數(shù)用于表示成員值的總數(shù)量;獲取處理時(shí)間段內(nèi)索引統(tǒng)計(jì)信息的數(shù)據(jù)總數(shù),其中,處理時(shí)間段是預(yù)先對(duì)索引統(tǒng)計(jì)信息進(jìn)行設(shè)置的處理時(shí)間周期;通過(guò)預(yù)估行數(shù)與數(shù)據(jù)總數(shù)的差值,判斷索引統(tǒng)計(jì)信息是否需要進(jìn)行更新;在索引統(tǒng)計(jì)信息需要進(jìn)行更新的情況下,對(duì)索引統(tǒng)計(jì)信息進(jìn)行更新;檢測(cè)更新后的索引統(tǒng)計(jì)信息的預(yù)估行數(shù);獲取處理時(shí)間段內(nèi)更新后的索引統(tǒng)計(jì)信息的數(shù)據(jù)總數(shù);通過(guò)預(yù)估行數(shù)與數(shù)據(jù)總數(shù)的差值,判斷更新后的索引統(tǒng)計(jì)信息是否需要進(jìn)行更新。解決了由于數(shù)據(jù)倉(cāng)庫(kù)的索引統(tǒng)計(jì)信息不能及時(shí)更新,造成索引統(tǒng)計(jì)信息不準(zhǔn)確的問(wèn)題,達(dá)到了讓數(shù)據(jù)倉(cāng)庫(kù)的索引統(tǒng)計(jì)信息及時(shí)進(jìn)行更新,使索引統(tǒng)計(jì)信息更加準(zhǔn)確的效果。
[0105]需要說(shuō)明的是,在附圖的流程圖示出的步驟可以在諸如一組計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
[0106]圖6是根據(jù)本發(fā)明的數(shù)據(jù)倉(cāng)庫(kù)中的索引統(tǒng)計(jì)信息處理裝置的第一實(shí)施例的示意圖。如圖6所示,該數(shù)據(jù)倉(cāng)庫(kù)中的索引統(tǒng)計(jì)信息處理裝置包括:第一獲取單元10,檢測(cè)單元20,第二獲取單元30,判斷單元40和更新單元50。
[0107]第一獲取單元10,用于獲取數(shù)據(jù)倉(cāng)庫(kù)中的索引統(tǒng)計(jì)信息。
[0108]檢測(cè)單元20,用于檢測(cè)索引統(tǒng)計(jì)信息的預(yù)估行數(shù),其中,預(yù)估行數(shù)是索引統(tǒng)計(jì)信息中成員值總數(shù)與索引統(tǒng)計(jì)信息中成員值密度的比值,成員值總數(shù)用于表示成員值的總數(shù)量。
[0109]第二獲取單元30,用于獲取處理時(shí)間段內(nèi)索引統(tǒng)計(jì)信息的數(shù)據(jù)總數(shù),其中,處理時(shí)間段是預(yù)先對(duì)索引統(tǒng)計(jì)信息進(jìn)行設(shè)置的處理時(shí)間周期。
[0110]判斷單元40,用于通過(guò)預(yù)估行數(shù)與數(shù)據(jù)總數(shù)的差值,判斷索引統(tǒng)計(jì)信息是否需要進(jìn)行更新。
[0111]更新單元50,用于在索引統(tǒng)計(jì)信息需要進(jìn)行更新的情況下,對(duì)索引統(tǒng)計(jì)信息進(jìn)行更新。
[0112]通過(guò)本發(fā)明提供的數(shù)據(jù)倉(cāng)庫(kù)中的索引統(tǒng)計(jì)信息處理裝置,該裝置包括:第一獲取單元10,用于獲取數(shù)據(jù)倉(cāng)庫(kù)中的索引統(tǒng)計(jì)信息;檢測(cè)單元20,用于檢測(cè)索引統(tǒng)計(jì)信息的預(yù)估行數(shù),其中,預(yù)估行數(shù)是索引統(tǒng)計(jì)信息中成員值總數(shù)與索引統(tǒng)計(jì)信息中成員值密度的比值,成員值總數(shù)用于表示成員值的總數(shù)量;第二獲取單元30,用于獲取處理時(shí)間段內(nèi)索引統(tǒng)計(jì)信息的數(shù)據(jù)總數(shù),其中,處理時(shí)間段是預(yù)先對(duì)索引統(tǒng)計(jì)信息進(jìn)行設(shè)置的處理時(shí)間周期;判斷單元40,用于根據(jù)預(yù)估行數(shù)與數(shù)據(jù)總數(shù)的差值,判斷索引統(tǒng)計(jì)信息是否需要進(jìn)行更新;更新單元50,用于在索引統(tǒng)計(jì)信息需要進(jìn)行更新的情況下,對(duì)索引統(tǒng)計(jì)信息進(jìn)行更新。解決了由于數(shù)據(jù)倉(cāng)庫(kù)的索引統(tǒng)計(jì)信息不能及時(shí)更新,造成索引統(tǒng)計(jì)信息不準(zhǔn)確的問(wèn)題,達(dá)到了讓數(shù)據(jù)倉(cāng)庫(kù)的索引統(tǒng)計(jì)信息及時(shí)進(jìn)行更新,使索引統(tǒng)計(jì)信息更加準(zhǔn)確的效果。
[0113]圖7是根據(jù)本發(fā)明的數(shù)據(jù)倉(cāng)庫(kù)中的索引統(tǒng)計(jì)信息處理裝置的第二實(shí)施例的示意圖。如圖7所示,該數(shù)據(jù)倉(cāng)庫(kù)中的索引統(tǒng)計(jì)信息處理裝置包括:第一獲取單元10,檢測(cè)單元20,第二獲取單元30,判斷單元40和更新單元50。其中檢測(cè)單元20包括:第一獲取模塊201、第一檢測(cè)模塊202和第二獲取模塊203。
[0114]第一獲取單元10,檢測(cè)單元20,第二獲取單元30,判斷單元40和更新單元50的作用與上述實(shí)施例中作用相同,在此不再贅述。
[0115]第一獲取模塊201,用于獲取處理時(shí)間段中索引統(tǒng)計(jì)信息里的直方圖,其中,處理時(shí)間段是預(yù)先對(duì)索引統(tǒng)計(jì)信息進(jìn)行設(shè)置的處理時(shí)間周期。
[0116]第一檢測(cè)模塊202,用于檢測(cè)索弓I統(tǒng)計(jì)信息的直方圖數(shù)據(jù)。
[0117]第二獲取模塊203,用于根據(jù)直方圖數(shù)據(jù),獲取索引統(tǒng)計(jì)信息的預(yù)估行數(shù)。
[0118]圖8是根據(jù)本發(fā)明的數(shù)據(jù)倉(cāng)庫(kù)中的索引統(tǒng)計(jì)信息處理裝置的第三實(shí)施例的示意圖。如圖8所示,該數(shù)據(jù)倉(cāng)庫(kù)中的索引統(tǒng)計(jì)信息處理裝置包括:第一獲取單元10,檢測(cè)單元20,第二獲取單元30,判斷單元40和更新單元50。其中判斷單元40包括:第一判斷模塊401和第二判斷模塊402。
[0119]第一獲取單元10,檢測(cè)單元20,第二獲取單元30,判斷單元40和更新單元50的作用與上述實(shí)施例中作用相同,在此不再贅述。
[0120]第一判斷模塊401,用于判斷預(yù)估行數(shù)與數(shù)據(jù)總數(shù)的差值是否超過(guò)預(yù)設(shè)閾值。
[0121]第二判斷模塊402,用于在預(yù)估行數(shù)與數(shù)據(jù)總數(shù)的差值超過(guò)預(yù)設(shè)閾值時(shí),判定索引統(tǒng)計(jì)信息不準(zhǔn)確,需要對(duì)索引統(tǒng)計(jì)信息進(jìn)行更新。在預(yù)估行數(shù)與數(shù)據(jù)總數(shù)的差值沒有超過(guò)預(yù)設(shè)閾值時(shí),判定索引統(tǒng)計(jì)信息準(zhǔn)確,不需要對(duì)索引統(tǒng)計(jì)信息進(jìn)行更新。
[0122]圖9是根據(jù)本發(fā)明的數(shù)據(jù)倉(cāng)庫(kù)中的索引統(tǒng)計(jì)信息處理裝置的第四實(shí)施例的示意圖。如圖9所示,該數(shù)據(jù)倉(cāng)庫(kù)中的索引統(tǒng)計(jì)信息處理裝置包括:第一獲取單元10,檢測(cè)單元20,第二獲取單元30,判斷單元40和更新單元50。其中更新單元50包括:第二檢測(cè)模塊501、采樣模塊502和第一更新模塊503。
[0123]第一獲取單元10,檢測(cè)單元20,第二獲取單元30,判斷單元40和更新單元50的作用與上述實(shí)施例中作用相同,在此不再贅述。
[0124]第二檢測(cè)模塊501,用于檢測(cè)數(shù)據(jù)倉(cāng)庫(kù)的采樣率。
[0125]采樣模塊502,用于通過(guò)采樣率對(duì)數(shù)據(jù)倉(cāng)庫(kù)進(jìn)行采樣。
[0126]第一更新模塊503,用于將采樣率對(duì)數(shù)據(jù)倉(cāng)庫(kù)進(jìn)行采樣抽取出的統(tǒng)計(jì)信息對(duì)索引統(tǒng)計(jì)信息進(jìn)行更新。
[0127]圖10是根據(jù)本發(fā)明的數(shù)據(jù)倉(cāng)庫(kù)中的索引統(tǒng)計(jì)信息處理裝置的第五實(shí)施例的示意圖。如圖10所示,該數(shù)據(jù)倉(cāng)庫(kù)中的索引統(tǒng)計(jì)信息處理裝置包括:第一獲取單元10,檢測(cè)單元20,第二獲取單元30,判斷單元40和更新單元50。其中更新單元50包括:第三檢測(cè)模塊504、第三獲取模塊505、第三判斷模塊506和第二更新模塊507。
[0128]第一獲取單元10,檢測(cè)單元20,第二獲取單元30,判斷單元40和更新單元50的作用與上述實(shí)施例中作用相同,在此不再贅述。
[0129]第三檢測(cè)模塊504,用于檢測(cè)更新后的索引統(tǒng)計(jì)信息的預(yù)估行數(shù)。
[0130]第三獲取模塊505,用于獲取處理時(shí)間段內(nèi)更新后的索引統(tǒng)計(jì)信息的數(shù)據(jù)總數(shù)。
[0131]第三判斷模塊506,用于通過(guò)預(yù)估行數(shù)與數(shù)據(jù)總數(shù)的差值,判斷更新后的索引統(tǒng)計(jì)信息是否需要進(jìn)行更新。
[0132]第二更新模塊507,用于在更新后的索引統(tǒng)計(jì)信息需要更新的情況下,按照全掃描的方式對(duì)更新后的索引統(tǒng)計(jì)信息進(jìn)行更新或按照數(shù)據(jù)倉(cāng)庫(kù)的采樣率遞增的方式對(duì)更新后的索引統(tǒng)計(jì)信息進(jìn)行更新。
[0133]顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計(jì)算裝置來(lái)實(shí)現(xiàn),它們可以集中在單個(gè)的計(jì)算裝置上,或者分布在多個(gè)計(jì)算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計(jì)算裝置可執(zhí)行的程序代碼來(lái)實(shí)現(xiàn),從而,可以將它們存儲(chǔ)在存儲(chǔ)裝置中由計(jì)算裝置來(lái)執(zhí)行,或者將它們分別制作成各個(gè)集成電路模塊,或者將它們中的多個(gè)模塊或步驟制作成單個(gè)集成電路模塊來(lái)實(shí)現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。
[0134]以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來(lái)說(shuō),本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種數(shù)據(jù)倉(cāng)庫(kù)中的索引統(tǒng)計(jì)信息處理方法,其特征在于,包括: 獲取數(shù)據(jù)倉(cāng)庫(kù)中的索引統(tǒng)計(jì)信息; 檢測(cè)所述索引統(tǒng)計(jì)信息的預(yù)估行數(shù),其中,所述預(yù)估行數(shù)是所述索引統(tǒng)計(jì)信息中成員值總數(shù)與所述索引統(tǒng)計(jì)信息中成員值密度的比值,所述成員值總數(shù)用于表示成員值的總數(shù)量; 獲取處理時(shí)間段內(nèi)所述索引統(tǒng)計(jì)信息的數(shù)據(jù)總數(shù),其中,所述處理時(shí)間段是預(yù)先對(duì)所述索引統(tǒng)計(jì)信息進(jìn)行設(shè)置的處理時(shí)間周期; 通過(guò)所述預(yù)估行數(shù)與所述數(shù)據(jù)總數(shù)的差值,判斷所述索引統(tǒng)計(jì)信息是否需要進(jìn)行更新;以及 在所述索引統(tǒng)計(jì)信息需要進(jìn)行更新的情況下,對(duì)所述索引統(tǒng)計(jì)信息進(jìn)行更新。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,檢測(cè)所述索引統(tǒng)計(jì)信息的預(yù)估行數(shù)包括: 選取處理時(shí)間段中所述索引統(tǒng)計(jì)信息里的直方圖,其中,所述處理時(shí)間段是預(yù)先對(duì)所述索引統(tǒng)計(jì)信息進(jìn)行設(shè)置的處理時(shí)間周期; 檢測(cè)所述索引統(tǒng)計(jì)信息的直方圖數(shù)據(jù);以及 通過(guò)所述直方圖數(shù)據(jù),獲取所述索引統(tǒng)計(jì)信息的預(yù)估行數(shù)。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,通過(guò)所述預(yù)估行數(shù)與所述數(shù)據(jù)總數(shù)的差值,判斷所述索引統(tǒng)計(jì)信息是否需要進(jìn)行更新包括: 判斷所述預(yù)估行數(shù)與所述數(shù)據(jù)總數(shù)的差值是否超過(guò)預(yù)設(shè)閾值; 如果所述預(yù)估行數(shù)與所述數(shù)據(jù)總數(shù)的差值超過(guò)預(yù)設(shè)閾值,判定所述索引統(tǒng)計(jì)信息不準(zhǔn)確,需要對(duì)所述索引統(tǒng)計(jì)信息進(jìn)行更新;以及 如果所述預(yù)估行數(shù)與所述數(shù)據(jù)總數(shù)的差值沒有超過(guò)預(yù)設(shè)閾值,判定所述索引統(tǒng)計(jì)信息準(zhǔn)確,不需要對(duì)所述索引統(tǒng)計(jì)信息進(jìn)行更新。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述索引統(tǒng)計(jì)信息需要進(jìn)行更新的情況下,對(duì)所述索引統(tǒng)計(jì)信息進(jìn)行更新包括: 檢測(cè)所述數(shù)據(jù)倉(cāng)庫(kù)的采樣率; 通過(guò)所述采樣率對(duì)所述數(shù)據(jù)倉(cāng)庫(kù)進(jìn)行采樣;以及 將所述采樣率對(duì)所述數(shù)據(jù)倉(cāng)庫(kù)進(jìn)行采樣抽取出的統(tǒng)計(jì)信息對(duì)所述索引統(tǒng)計(jì)信息進(jìn)行更新。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述索引統(tǒng)計(jì)信息需要進(jìn)行更新的情況下,對(duì)所述索引統(tǒng)計(jì)信息進(jìn)行更新之后包括: 檢測(cè)更新后的所述索引統(tǒng)計(jì)信息的預(yù)估行數(shù); 獲取處理時(shí)間段內(nèi)更新后的所述索引統(tǒng)計(jì)信息的數(shù)據(jù)總數(shù); 通過(guò)所述預(yù)估行數(shù)與所述數(shù)據(jù)總數(shù)的差值,判斷更新后的所述索引統(tǒng)計(jì)信息是否需要進(jìn)行更新;以及 在更新后的所述索引統(tǒng)計(jì)信息需要更新的情況下,按照全掃描的方式對(duì)更新后的所述索引統(tǒng)計(jì)信息進(jìn)行更新或按照所述數(shù)據(jù)倉(cāng)庫(kù)的采樣率遞增的方式對(duì)更新后的所述索引統(tǒng)計(jì)信息進(jìn)行更新。
6.一種數(shù)據(jù)倉(cāng)庫(kù)中的索引統(tǒng)計(jì)信息處理裝置,其特征在于,包括: 第一獲取單元,用于獲取數(shù)據(jù)倉(cāng)庫(kù)中的索引統(tǒng)計(jì)信息; 檢測(cè)單元,用于檢測(cè)所述索引統(tǒng)計(jì)信息的預(yù)估行數(shù),其中,所述預(yù)估行數(shù)是所述索引統(tǒng)計(jì)信息中成員值總數(shù)與所述索引統(tǒng)計(jì)信息中成員值密度的比值,所述成員值總數(shù)用于表示成員值的總數(shù)量; 第二獲取單元,用于獲取處理時(shí)間段內(nèi)所述索引統(tǒng)計(jì)信息的數(shù)據(jù)總數(shù),其中,所述處理時(shí)間段是預(yù)先對(duì)所述索引統(tǒng)計(jì)信息進(jìn)行設(shè)置的處理時(shí)間周期; 判斷單元,用于通過(guò)所述預(yù)估行數(shù)與所述數(shù)據(jù)總數(shù)的差值,判斷所述索引統(tǒng)計(jì)信息是否需要進(jìn)行更新;以及 更新單元,用于在所述索引統(tǒng)計(jì)信息需要進(jìn)行更新的情況下,對(duì)所述索引統(tǒng)計(jì)信息進(jìn)行更新。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,檢測(cè)單元包括: 第一獲取模塊,用于獲取處理時(shí)間段中所述索引統(tǒng)計(jì)信息里的直方圖,其中,所述處理時(shí)間段是預(yù)先對(duì)所述索引統(tǒng)計(jì)信息進(jìn)行設(shè)置的處理時(shí)間周期; 第一檢測(cè)模塊,用于檢測(cè)所述索引統(tǒng)計(jì)信息的直方圖數(shù)據(jù);以及 第二獲取模塊,用于根據(jù)所述直方圖數(shù)據(jù),獲取所述索引統(tǒng)計(jì)信息的預(yù)估行數(shù)。
8.根據(jù)權(quán)利要求6所述的裝置,其特征在于,判斷單元包括: 第一判斷模塊,用于判斷所述預(yù)估行數(shù)與所述數(shù)據(jù)總數(shù)的差值是否超過(guò)預(yù)設(shè)閾值;第二判斷模塊,用于在所述預(yù)估行數(shù)與所述數(shù)據(jù)總數(shù)的差值超過(guò)預(yù)設(shè)閾值時(shí),判定所述索引統(tǒng)計(jì)信息不準(zhǔn)確,需要對(duì)所述索引統(tǒng)計(jì)信息進(jìn)行更新;在所述預(yù)估行數(shù)與所述數(shù)據(jù)總數(shù)的差值沒有超過(guò)預(yù)設(shè)閾值時(shí),判定所述索引統(tǒng)計(jì)信息準(zhǔn)確,不需要對(duì)所述索引統(tǒng)計(jì)信息進(jìn)行更新。
9.根據(jù)權(quán)利要求6所述的裝置,其特征在于,更新單元包括: 第二檢測(cè)模塊,用于檢測(cè)所述數(shù)據(jù)倉(cāng)庫(kù)的采樣率; 采樣模塊,用于通過(guò)所述采樣率對(duì)所述數(shù)據(jù)倉(cāng)庫(kù)進(jìn)行采樣; 第一更新模塊,用于將所述采樣率對(duì)所述數(shù)據(jù)倉(cāng)庫(kù)進(jìn)行采樣抽取出的統(tǒng)計(jì)信息對(duì)所述索弓I統(tǒng)計(jì)信息進(jìn)行更新。
10.根據(jù)權(quán)利要求6所述的裝置,其特征在于,更新單元包括: 第三檢測(cè)模塊,用于檢測(cè)更新后的所述索引統(tǒng)計(jì)信息的預(yù)估行數(shù); 第三獲取模塊,用于獲取處理時(shí)間段內(nèi)更新后的所述索引統(tǒng)計(jì)信息的數(shù)據(jù)總數(shù);第三判斷模塊,用于通過(guò)所述預(yù)估行數(shù)與所述數(shù)據(jù)總數(shù)的差值,判斷更新后的所述索引統(tǒng)計(jì)信息是否需要進(jìn)行更新;以及 第二更新模塊,用于在更新后的所述索引統(tǒng)計(jì)信息需要更新的情況下,按照全掃描的方式對(duì)更新后的所述索引統(tǒng)計(jì)信息進(jìn)行更新或按照所述數(shù)據(jù)倉(cāng)庫(kù)的采樣率遞增的方式對(duì)更新后的所述索弓I統(tǒng)計(jì)信息進(jìn)行更新。
【文檔編號(hào)】G06F17/30GK104182540SQ201410447228
【公開日】2014年12月3日 申請(qǐng)日期:2014年9月3日 優(yōu)先權(quán)日:2014年9月3日
【發(fā)明者】洪超 申請(qǐng)人:北京國(guó)雙科技有限公司