视图是逻辑上的表,是虚拟表。行和列数据均来自于查询所引用的表,而视图并不存储这些数据,只在视图被引用时动态获取并返回。
视图的优点:
1、简化操作,隐藏了表之间复杂的连接操作,不必每次都写复杂的查询语句。
2、定制数据,视图机制使得用户可以用不同方式查询同一数据。
3、可为数据库中的表重构提供逻辑独立性。比如对表进行水平或垂直分割,改变表结构,此时可以按照原表结构创建视图,使得表结构改变对应用程序透明,减少对应用程序的冲击
4、安全性。视图可以作为一种安全机制,只返回用户有权看到的数据。
物化视图:
物化视图不同于传统意义的虚拟视图,它是实体视图,本身存储数据,但基础表中的数据更新时,物化视图数据也会更新。
视图主要是方便使用等,本身对效率提升并无帮助,但也没有什么坏的影响。如果一个视图效率不高,可能是对应基础表本身数据量大,或者视图关联很多表,导致连接过多。改进方法可以考虑针对视图中的连接字段创建索引。这个索引,可以建在基础表,也可以建在视图。