物化视图 sql server 1
生活随笔
收集整理的這篇文章主要介紹了
物化视图 sql server 1
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
物化視圖,所謂視圖實際上是不存儲物理信息的(同表相區別,表存儲實際的數據和表的索引信息等。),視圖僅僅存儲 一個select語句而已。而物化視圖就要視圖也存儲實際的數據,這種實際數據,就是索引。oracle 8imssqlserver2000中引入的。比如oracle的函數索引和sqlserver2000的索引視圖都是物化視圖。原因是這種視圖能夠顯著提高性能,舉個例子
一個表:
create table mytable (id int not null,name varchar(20) not null)
create index idx_mytable on mytable.name
當我們查詢的時候,
select * from mytable where name like 'j%',
優化器能夠使用索引來提高性能,然而我們遇到這種情況就不能使用索引了,如:
select * from mytable where name like '%bing%'
或者
select * from mytable where substring(name,1,5)='jiang'
這樣的情況不能使用索引
但引入物化視圖就不同了
create view myview(vid,vname) as select id,substring(name,1,5) from myview.
然后再vname上建立索引即可顯著提高查詢性能。
oracle的函數索引亦是如此。
create index idx_mytable on mytable(upper(name))
--
就是這樣的
http://book.51cto.com/art/200710/57893.htm
1.6.2 物化視圖
SQL Server 2005增強了索引化視圖,也叫做物化視圖。現在你可以使用一個能索引化的視圖擴展集合了。在SQL Server中還有一些可以被索引化的視圖類型,如使用下列選項的視圖:
外部連接(Outer Joins)。
級聯集合(Scalar Aggregates)。
ROLLUP和CUBE。
當數據庫管理員或者開發者在視圖上創建索引時,這個視圖就被物化(執行)了,并且結果集被永久地保存在唯一聚簇索引(Clustered Index)中,保存方式與一個有聚簇索引的表的保存方式相同。可以在第一級唯一聚簇索引創建之后添加非聚簇的第二級索引。
索引視圖有以下兩個優點。
減除了為引用視圖的查詢動態建立結果集的管理開銷。
優化人員可以在查詢中使用視圖索引,而不需要在FROM子句中直接指定視圖。
引用索引化視圖中的相關列的現有查詢可以受益于提高了的在索引化視圖中獲取數據的效率,而且不需要重新編寫代碼。關于它們更多的介紹,請見第3章。代碼舉例,請見第6章“代碼章節”。
轉載于:https://www.cnblogs.com/hanmos/archive/2011/03/28/1997761.html
新人創作打卡挑戰賽發博客就能抽獎!定制產品紅包拿不停!總結
以上是生活随笔為你收集整理的物化视图 sql server 1的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用 Advanced Installe
- 下一篇: HDU-4675 GCD of Sequ