Oracle

創建視圖會導致數據庫成本嗎?

  • January 3, 2014

正如我的主題所暗示的那樣,我想知道創建視圖是否會在空間、儲存、性能方面對數據庫造成成本?

有關此類問題,請參閱概念指南 - 視圖概述:

視圖概述

視圖是一個或多個表的邏輯表示。本質上,視圖是一個儲存的查詢。

$$ … $$ 視圖的特徵

與表不同,視圖不分配儲存空間,視圖也不包含數據。相反,視圖是由從視圖引用的基表中提取或派生數據的查詢定義的。因為視圖是基於其他對象的,所以除了儲存用於在數據字典中定義視圖的查詢之外,它不需要儲存。

創建視圖是否會對性能產生影響是無法回答的。如果你不使用它,它不會影響任何事情。如果您使用它並且碰巧視圖“表示”的查詢具有較差的性能特徵,那麼它將具有與直接執行基礎查詢基本相同的不良影響。

現在物化視圖是一個完全不同的概念,並且確實包含數據。它們還可以影響未通過查詢重寫明確提及它們的 SQL 語句的性能——但同樣,如果沒有具體的細節,將產生什麼樣的影響是無法回答的。

(物化視圖更頻繁地(但不是唯一地)用於數據倉庫類型的場景,而普通視圖無處不在。)

引用自:https://dba.stackexchange.com/questions/56057