大家好,如果您还对SQL中使用视图的优点和缺点是什么不太了解,没有关系,今天就由本站为大家分享SQL中使用视图的优点和缺点是什么的知识,包括不建议使用数据库视图的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!
本文目录
数据库视图的含义和作用
比如一个比较复杂的查询不想每次都写很多语句,就可以写个视图。
或者给特定用户开放某些表的读取权限,但要加一些行和列的限制,也可以写个视图。
使用视图,可以定制用户数据,聚焦特定的数据。
解释:
在实际过程中,公司有不同角色的工作人员,我们以销售公司为例的话,
采购人员,可以需要一些与其有关的数据,而与他无关的数据,对他没
有任何意义,我们可以根据这一实际情况,专门为采购人员创建一个视
图,以后他在查询数据时,只需select*fromview_caigou就可以啦。
第二点:使用视图,可以简化数据操作。
解释:我们在使用查询时,在很多时候我们要使用聚合函数,同时还要
显示其它字段的信息,可能还会需要关联到其它表,这时写的语句可能
会很长,如果这个动作频繁发生的话,我们可以创建视图,这以后,我
们只需要select*fromview1就可以啦~,是不是很方便呀~
第三点:使用视图,基表中的数据就有了一定的安全性
因为视图是虚拟的,物理上是不存在的,只是存储了数据的集合,我们可以
将基表中重要的字段信息,可以不通过视图给用户,视图是动态的数据的集
合,数据是随着基表的更新而更新。同时,用户对视图,不可以随意的更改
和删除,可以保证数据的安全性。
第四点:可以合并分离的数据,创建分区视图
随着社会的发展,公司的业务量的不断的扩大,一个大公司,下属都设有很
多的分公司,为了管理方便,我们需要统一表的结构,定期查看各公司业务
情况,而分别看各个公司的数据很不方便,没有很好的可比性,如果将这些
数据合并为一个表格里,就方便多啦,这时我们就可以使用union关键字,
将各分公司的数据合并为一个视图。
为什么建立视图后数据为空
多表连接的视图由于有键连接条件,视图数据有可能为空。
SQL中使用视图的优点和缺点是什么
在做数据库开发中使用视图的优点有:
1.视图的好处就是在你做复杂的查询逻辑时可以简化你的思考过程。
2.用视图可以隐藏一定的信息,用过滤后查询出来的数据集组成视图可以访问表中的子集,可以访问表中行的子集。
3.可以重命名列名。在表中有些列名定义没有代表意义,如列“abc”,为了让用户看到列名就可以知该列是什么数据,可以在组建视图时重命名列名。
4.可以快速访问两表或多表连接所组成的数据。可以把一些多表的数据组合在一块,可以快速读取用聚合函数返回的结果集.
5.有了视图程序可以建立视图上
6.可以合并分离的数据,创建分区视图。当数据量大的时候,这时我们就可以使用union关键字,将各分公司的数据合并为一个视图。
7.视图还可以用作跨表及跨域,在两台数据库之间做桥梁链接的作用.
总的说,视图可以提高安全性可以提高查询速度。
缺点在QLServer必须把视图的查询转化成对基本表的查询,如果这个视图是由一个复杂的多表查询所定义,那么,即使是视图的一个简单查询,SQLServer也把它变成一个复杂的结合体,需要花费一定的时间。
在后期的维护上数据库的表结构变了也会影响视图的改变,维护繁琐。
所以在定义数据库的时候,要合理的使用视图。
大数据场景下视图会被使用么
也要看场景,不同的大数据环境要求不一样,视图本质上是关联查询。理论上,大数据环境如ES,hive,hbase,spark等都支持,但大部分情况下都会大幅降低性能,但ES一做关联性能奇差,hbase有这样那样限制
好了,文章到此结束,希望可以帮助到大家。