2012-11-05 33 views
1

我剛剛發現,幾年前我迅速投擲到一起的報告一直是收集數百萬美元的唯一手段,並且沒有任何事情可以檢查它是否正確。索引視圖的可靠性

由於性能原因,報告大量使用索引視圖。這關係到我,因爲儘管我已經使用了索引視圖,但我傾向於將它們用於這些至關重要的事情。

索引視圖可能無法更新或以其他方式返回與表中數據不同的信息嗎?這是多麼真實的風險?是否有一個好的SQL腳本可以定期運行以檢查錯誤?

+0

不要考慮索引視圖的可靠程度。這可能是你的超人III時刻:) –

+1

你的底層數據比其上的任何索引視圖更可能不正確。 –

+0

以上2條評論基本上是說我不應該問這個問題。即使其他問題更具相關性,我認爲它仍然相關。 – Brad

回答

1

根據文檔不存在不一致的風險。

實際上,您必須處理產品錯誤。他們不是現實的問題。

索引視圖維護基於索引基於的完全相同的機制:它們作爲DML查詢計劃的一部分進行更新。我猜你不會期望索引變得腐敗,所以你應該相信索引視圖具有相同的優勢。

+0

根據文件,我應該期望指數變得腐敗。 DBCC命令和索引損壞有很多文檔記錄。 – Brad

+0

我發佈了一個在現實世界中尋找具有更多使用索引視圖經驗的人,看看是否有人處理過這個問題。我在發佈之前閱讀文檔。 – Brad

+0

@Brad索引應該永遠不會腐敗。 'DBCC CHECKDB'用於修復因緊急情況下的硬件錯誤和第三方軟件錯誤導致的損壞。很少有SQL Server的錯誤。通常,當您發現損壞時,請轉到備份。 「CHECKDB」修理用於您無法做到的緊急事件;另外,我*有很多索引視圖的經驗。當然,這很難量化。假設我廣泛使用它們來預先生成連接並保留彙總表。看起來你有證據表明索引視圖是不可靠的。你能分享一下嗎? – usr