[發明專利]數據倉庫中的索引統計信息處理方法及裝置有效
| 申請號: | 201410447228.5 | 申請日: | 2014-09-03 |
| 公開(公告)號: | CN104182540B | 公開(公告)日: | 2017-10-27 |
| 發明(設計)人: | 洪超 | 申請(專利權)人: | 北京國雙科技有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京康信知識產權代理有限責任公司11240 | 代理人: | 李志剛,吳貴明 |
| 地址: | 100086 北京市海淀區*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 數據倉庫 中的 索引 統計 信息處理 方法 裝置 | ||
技術領域
本發明涉及數據處理領域,具體而言,涉及一種數據倉庫中的索引統計信息處理方法及裝置。
背景技術
數據倉庫是一種通用數據處理系統,可以存儲一個應用領域的有關數據的集合。數據倉庫中的數據是為眾多用戶所共享其信息而建立的,已經擺脫了具體程序的限制和制約。不同的用戶可以按各自的用法使用數據庫中的數據。多個用戶可以同時共享數據庫中的數據資源,即不同的用戶可以同時存取數據庫中的同一個數據。數據共享性不僅滿足了各用戶對信息內容的要求,同時也滿足了各用戶之間信息通信的要求。
至微軟推出SQL Server以來,SQL Server作為一個全面的、集成的、端到端的數據解決方案,它為用戶提供一個更安全可靠和高效的平臺用于企業數據。SQL Server允許創建有關列中值的分布情況的統計信息。使用這些統計信息并通過估計使用索引評估來確定最佳的執行計劃。創建統計信息后,數據倉庫引擎對成員值進行排序,并根據這些成員值而創建一個“直方圖”。在創建索引為表或視圖上的索引創建統計信息。這些統計信息將創建在索引的鍵列上。如果索引是一個篩選索引,將在為該篩選索引指定的行的同一子集上創建篩選統計信息。
SQL Server里索引統計信息會被應用到執行計劃生成的階段,執行計劃生成時,會根據索引統計信息里的統計結果進行預估,若是索引統計信息不準確,會造成預估值與真實值差異很大,從而有可能會得到糟糕的執行計劃,現有技術中,雖然SqlServer里有AutoStats的索引統計信息自動更新機制,但其更新在沒有滿足一定數據時是不會觸發更新的,對于數據倉庫技術而言,隨著每天數據的增量,越到后面越不容易觸發數據倉庫進行自動更新,另外,即使數據倉庫進行自動更新,由于是對索引統計信息抽樣進行預估,得到的預估數據也有可能與真實值相差很大。
針對相關技術中數據倉庫的索引統計信息不能及時更新,造成預估數據不準確的問題,目前尚未提出有效的解決方案。
發明內容
本發明的主要目的在于提供一種數據倉庫中的索引統計信息處理方法及裝置,以解決數據倉庫的索引統計信息不能及時更新,造成索引統計信息不準確的問題。
為了實現上述目的,根據本發明的一個方面,提供了數據倉庫中的索引統計信息處理方法,該方法包括:獲取數據倉庫中的索引統計信息;檢測該索引統計信息的預估行數,其中,該預估行數是該索引統計信息中成員值總數與該索引統計信息中成員值密度的比值,該成員值總數用于表示成員值的總數量;獲取處理時間段內該索引統計信息的數據總數,其中,該處理時間段是預先對該索引統計信息進行設置的處理時間周期;通過該預估行數與該數據總數的差值,判斷該索引統計信息是否需要進行更新;以及在該索引統計信息需要進行更新的情況下,對該索引統計信息進行更新。
進一步地,檢測該索引統計信息的預估行數包括:選取處理時間段中該索引統計信息里的直方圖,其中,該處理時間段是預先對該索引統計信息進行設置的處理時間周期;檢測該索引統計信息的直方圖數據;以及通過該直方圖數據,獲取該索引統計信息的預估行數。
進一步地,通過該預估行數與該數據總數的差值,判斷該索引統計信息是否需要進行更新包括:判斷該預估行數與該數據總數的差值是否超過預設閾值;如果該預估行數與該數據總數的差值超過預設閾值,判定該索引統計信息不準確,需要對該索引統計信息進行更新;以及如果該預估行數與該數據總數的差值沒有超過預設閾值,判定該索引統計信息準確,不需要對該索引統計信息進行更新。
進一步地,在該索引統計信息需要進行更新的情況下,對該索引統計信息進行更新包括:檢測該數據倉庫的采樣率;通過該采樣率對該數據倉庫進行采樣;將該采樣率對該數據倉庫進行采樣抽取出的統計信息對該索引統計信息進行更新。
進一步地,在該索引統計信息需要進行更新的情況下,對該索引統計信息進行更新之后包括:檢測該更新后的索引統計信息的預估行數;獲取處理時間段內該更新后的索引統計信息的數據總數;通過該預估行數與該數據總數的差值,判斷該更新后的索引統計信息是否需要進行更新;以及在該更新后的索引統計信息需要更新的情況下,按照全掃描的方式對該更新后的索引統計信息進行更新或按照該數據倉庫的采樣率遞增的方式對該更新后的索引統計信息進行更新。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京國雙科技有限公司,未經北京國雙科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410447228.5/2.html,轉載請聲明來源鉆瓜專利網。





