视图和表的区别 ?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了视图和表的区别 ?相关的知识,希望对你有一定的参考价值。
简单的说,视图是按照你的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速度应该是非常快才对的呢????
以上是关于视图和表的区别 ?的主要内容,如果未能解决你的问题,请参考以下文章