2016-02-05 107 views
-1

我有一個表上的索引視圖。我想在基礎表更新後的一段時間內延遲索引視圖的更新。是否有一些技巧可以控制何時將更新應用於索引視圖?延遲索引視圖自動更新

注意:我不問如何創建物化視圖!

+1

不需要。您必須跳過SQL Server索引視圖的所有環節才能立即更新。因爲它們被設計爲立即更新。 –

回答

-1

直接配置刷新頻率是可能的在Oracle中不在SQL Server中。

Howeever一個有多個選項耽誤aggrates /結果,直到在SQL Server視圖所需的時間,有些可以像下面

1.創建一個表AggregateController(MV_Name,ShowResult),可以用這個你的看法。

select count(*) from aTable where exists (select 1 from AggregateController where MV_Name='aTableView') 

2.加一樣,如果你想上午11:00每日

where CONVERT(TIME,GETDATE())>'11:00:00' 

3.添加一列本身的表來處理indexview後顯示where子句根據你的病情導致

+0

這不是我的問題,我不是在談論Oracle。 SQL Server中的索引視圖相當於Oracle中的物化視圖。我知道如何創建索引視圖。請仔細閱讀問題! – FireAlone

+0

「在更新基礎表後更新索引視圖一段時間」可直接使用。這是「Oracle的物化視圖」的特點,並且您試圖在SQL服務器中實現這一點,這就是爲什麼它類似於「如何在SQL Server中創建實體化視圖」。 – Anil

+0

我在問如何在SQL Server中做到這一點。如果你能在SQL Server中實現它,這是我的問題的答案;否則用Oracle中的代碼回答SQL Server問題有什麼意義? – FireAlone