普通视图和物化视图的区别

普通视图和物化视图的区别,第1张

概述 物化视图,所谓视图实际上是不存储物理信息的(同表相区别,表存储世纪的数据和表的索引信息等。),试图仅仅存储一个select语句而已。而物化视图就要视图也存储实际的数据,这种实际数据,就是索引。oracle   8i和mssqlserver2000中引入的。比如oracle的函数索引和sqlserver2000的索引视图都是物化视图。原因是这种视图能够显著提高性能,据个例子  一个表:create  物化视图,所谓视图实际上是不存储物理信息的(同表相区别,表存储世纪的数据和表的索引信息等。),试图仅仅存储一个select语句而已。而物化视图就要视图也存储实际的数据,这种实际数据,就是索引。oracle   8i和mssqlserver2000中引入的。比如oracle的函数索引和sqlserver2000的索引视图都是物化视图。原因是这种视图能够显著提高性能,据个例子 
一个表:create   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,5)   from   myvIEw. 
然后再vname上建立索引即可显著提高查询性能。 
oracle的函数索引亦是如此。 
create   index   IDx_mytable   on   mytable(upper(name)) 
-- 


一:物化视图:在查询时直接读出物化视图中的数据。

      普通视图:在查询时需要在查询中嵌套个子查询然后去访问原表。

二:物化视图:不可以更新,删除,修改等 *** 作,只能够查询。

    普通视图:可以更新,删除,修改等 *** 作,但是这些 *** 作将直接反应在原表中。

总结

以上是内存溢出为你收集整理的普通视图和物化视图的区别全部内容,希望文章能够帮你解决普通视图和物化视图的区别所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1181028.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存