2013-02-28 58 views
1

我是oracle新手,並且很樂意回答我的問題。在查詢和更新基表中使用物化視圖

我有一個爲表「A」創建的物化視圖「A_MV」。我有一個過程,它將從materialzied視圖「A_MV」執行SELECT查詢,然後在基表「A」的某些條件下更新基表「A」。

來自「A_MV」的SELECT查詢很快,但更新到基表的速度太慢。

請諮詢。

謝謝。

+0

性能是關於數據的:它有多少,它是如何分佈的?所以細節真的很重要。具體來說,基表中有多少行?你在更新什麼比例?什麼是更新的訪問路徑?你最近怎麼做這個更新?數據庫的什麼版本(和版本)?你可以發佈一些代碼嗎? – APC 2013-02-28 10:11:05

+0

另外,您對「太慢」的定義是什麼? – APC 2013-02-28 10:11:47

+0

感謝您的回覆。 – 2013-02-28 14:17:26

回答

1

如果mview設置爲在提交時更新,那麼這將迫使每次提交重建mview。另外,如果物化視圖日誌被定義,那麼這可以更頻繁地更新,這會降低速度。

oracle的合併語句是一個非常快的內置函數。在這種情況下建議確保mview上的刷新設置爲在合併之前按需刷新。請注意,如果您不想重建mview,則可以在之後將其更改。