码迷,mamicode.com
首页 > 其他好文 > 详细

视图和表的区别 ?

时间:2016-09-11 07:55:46      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:

简单的说,视图是按照你的sql语句生成的一个虚拟的东西,本身并不占数据库空间
譬如有这个表
create table table_a (id int,name varchar(10))
然后有这么一个视图
create view view_a as select id from table_a

当你表里的数据增加或者删除的时候,你视图里的内容也随着变化
总之你不能对视图进行update或者insert into操作
说白了,就是视图的变化随着表的变化而变化
除非重新create or replace view_a 才能把这个视图中的东西更改掉

 

视图并非实体表,不占存储空间,它只是在现有表上做一次投射,按一定的关系组织数据,本身不存储数据,,就像看电视,电视里的人物并不存在电视里

视图适合于多表连接浏览时使用!不适合增、删、改.,存储过程适合于使用较频繁的SQL语句,这样可以提高  执行效率!  


从安全的角度说,视图可以不给用户接触数据表,从而不知道表结构。

 

视图是虚拟的内存表,你可以理解成Windows的快捷方式!?

 

现在不是很确定的是,,视图就是在内存中建立的吗? 那岂不是 一直占用着内存??? 如果视图所在的表是1个很大的表,那就是要一直占用一块很大的内存了???

如果视图占用着内存,是不是它的select速度应该是非常快才对的呢????

视图和表的区别 ?

标签:

原文地址:http://www.cnblogs.com/data2016/p/5860910.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!