sql视图  view 和 MATERIALIZED VIEW



简单说就是,视图是一个子查询,性能肯定会比直接查询要低(尽管sql内部有优化),所以使用视图时有一个必须要注意的,就是不要嵌套使用查询。尤其是复杂查询。

那要视图有什么用?当一个查询你需要频频的作为子查询使用时,视图可以简化代码,直接调用而不是每次都去重复写这个东西,有点高级语言中的封装的意思吧。
其实视图还有很多其他的用处,比如说你是一个系 统的数据库管理员,你需要给他人提供一张表的某两列数据,而不希望他可以看到其他任何数据,这样你就可以给他建一个只有这两列数据的视图,然后把视图公布给他。

view是时时的不包含物理地址(从表里拿)

MATERIALIZED VIEW不是时时的更新,是定时的,也是有物理内存的,就是要存在硬盘上的一块地方。不是时时更新。

要是改变表的内容,要马上更新,使用下面的命令。


refresh materialized view xxxxx;  (xxxx是view的名字)。

这样MATERIALIZED VIEW的内容就更新了。

你可能感兴趣的:(sql)