视图在数据库内存储的是 SELECT 语句,可以理解为一条SQL 语句的快捷方式, 每次select 视图的时候都会执行构成视图的select 语句。它和你自己写select 查询基本表是一样的,所以在性能上没有区别,都是根据缓存来实现性能优化。
在某些数据库中,视图可以更新,但是并不推荐对视图的更新。视图也可以建立索引,同样有很多限制条件。
表的权限只能限制到列,可是视图是通过 select 语句来构建的,可以将权限提升到某一列某一行。
视图的创建:create view 名称 as select 语句.
视图的删除:drop view view_name
下面是一个简单的视图例子:
create view V1 as select user_name ,city from test where city = '杭州'
视图在某些情况下会失效,比如删除表的某列,或者修改表的某列时。
视图有些情况下是可以更新的,即可以对视图进行删除,修改,插入操作。但一般情况下不建议对视图进行 DDL 操作。