首页 > 代码库 > 视图和表的区别 ?

视图和表的区别 ?

简单的说,视图是按照你的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速度应该是非常快才对的呢????

视图和表的区别 ?