站长百科知识网

站长百科知识网

SQL中使用视图的优点和缺点是什么

投稿 -
视图在SQL中的作用是什么,它是怎样工作的

大家好,如果您还对SQL中使用视图的优点和缺点是什么不太了解,没有关系,今天就由本站为大家分享SQL中使用视图的优点和缺点是什么的知识,包括不建议使用数据库视图的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

本文目录

  1. 数据库视图的含义和作用
  2. 为什么建立视图后数据为空
  3. SQL中使用视图的优点和缺点是什么
  4. 大数据场景下视图会被使用么

数据库视图的含义和作用

比如一个比较复杂的查询不想每次都写很多语句,就可以写个视图。

或者给特定用户开放某些表的读取权限,但要加一些行和列的限制,也可以写个视图。

使用视图,可以定制用户数据,聚焦特定的数据。

解释:

在实际过程中,公司有不同角色的工作人员,我们以销售公司为例的话,

采购人员,可以需要一些与其有关的数据,而与他无关的数据,对他没

有任何意义,我们可以根据这一实际情况,专门为采购人员创建一个视

图,以后他在查询数据时,只需select*fromview_caigou就可以啦。

第二点:使用视图,可以简化数据操作。

解释:我们在使用查询时,在很多时候我们要使用聚合函数,同时还要

显示其它字段的信息,可能还会需要关联到其它表,这时写的语句可能

会很长,如果这个动作频繁发生的话,我们可以创建视图,这以后,我

们只需要select*fromview1就可以啦~,是不是很方便呀~

第三点:使用视图,基表中的数据就有了一定的安全性

因为视图是虚拟的,物理上是不存在的,只是存储了数据的集合,我们可以

将基表中重要的字段信息,可以不通过视图给用户,视图是动态的数据的集

合,数据是随着基表的更新而更新。同时,用户对视图,不可以随意的更改

和删除,可以保证数据的安全性。

第四点:可以合并分离的数据,创建分区视图

随着社会的发展,公司的业务量的不断的扩大,一个大公司,下属都设有很

多的分公司,为了管理方便,我们需要统一表的结构,定期查看各公司业务

情况,而分别看各个公司的数据很不方便,没有很好的可比性,如果将这些

数据合并为一个表格里,就方便多啦,这时我们就可以使用union关键字,

将各分公司的数据合并为一个视图。

为什么建立视图后数据为空

多表连接的视图由于有键连接条件,视图数据有可能为空。

SQL中使用视图的优点和缺点是什么

在做数据库开发中使用视图的优点有:

1.视图的好处就是在你做复杂的查询逻辑时可以简化你的思考过程。

2.用视图可以隐藏一定的信息,用过滤后查询出来的数据集组成视图可以访问表中的子集,可以访问表中行的子集。

3.可以重命名列名。在表中有些列名定义没有代表意义,如列“abc”,为了让用户看到列名就可以知该列是什么数据,可以在组建视图时重命名列名。

4.可以快速访问两表或多表连接所组成的数据。可以把一些多表的数据组合在一块,可以快速读取用聚合函数返回的结果集.

5.有了视图程序可以建立视图上

6.可以合并分离的数据,创建分区视图。当数据量大的时候,这时我们就可以使用union关键字,将各分公司的数据合并为一个视图。

7.视图还可以用作跨表及跨域,在两台数据库之间做桥梁链接的作用.

总的说,视图可以提高安全性可以提高查询速度。

缺点在QLServer必须把视图的查询转化成对基本表的查询,如果这个视图是由一个复杂的多表查询所定义,那么,即使是视图的一个简单查询,SQLServer也把它变成一个复杂的结合体,需要花费一定的时间。

在后期的维护上数据库的表结构变了也会影响视图的改变,维护繁琐。

所以在定义数据库的时候,要合理的使用视图。

大数据场景下视图会被使用么

也要看场景,不同的大数据环境要求不一样,视图本质上是关联查询。理论上,大数据环境如ES,hive,hbase,spark等都支持,但大部分情况下都会大幅降低性能,但ES一做关联性能奇差,hbase有这样那样限制

好了,文章到此结束,希望可以帮助到大家。

利用sql语句进行视图的相关操作

标签:# 是什么# 视图# 我的# 缺点# 优点