首页 > 代码库 > 视图和表的区别 ?
视图和表的区别 ?
简单的说,视图是按照你的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速度应该是非常快才对的呢????
视图和表的区别 ?
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。