优点:
1、视图着重于特定数据。视图可以让用户或者程序开发人员只看到他们所需要的数据,而不需要把表中的所有信息与字段暴露出来,这样增强了数据的安全性;
2、简化数据的操作,易维护。我们可以将经常用到的多表联合查询出来的数据,或特定的结果集定义为视图,这样就起到了模块化数据的作用。我们在使用这些数据时直接查询该视图就可以,而不用到处写长长的SQL语句,这样也起到易维护的作用;
3、视图可以限定查询数据。
缺点:
1、操作视图会比直接操作基础表要慢,所以我们尽量避免在大型表上创建视图;
2、尽量不要创建嵌套视图,就是在视图中使用视图。 这样在查询时,会多次重复访问基础表,带来性能损耗;
3、尽量在视图只返回所需的信息,尽量不要在视图使用不需要访问的表;
4、在大型表或者复杂定义的视图,可以使用存储过程代替;
5、频繁使用的视图,可以使用索引视图来代替。