当前位置: 主页 > 数据库

数据库创建视图的作用-物化视图创建

发布时间:2023-03-09 12:19   浏览次数:次   作者:佚名

区别

1、视图是编译好的SQL语句,而表不是;

2.视图没有实际的物理记录,但是表有;

3、表是内容,视图是窗口;

4、表占物理空间,视图不占物理空间。 视图只是一个逻辑概念。 表可以及时修改数据库创建视图的作用,但是视图只能通过创建的语句修改;

5、表是三级模式结构中的概念模式,尝试是外部模式;

在这里插入图片描述

数据库创建视图的作用_pl sql创建视图_物化视图创建

6、视图是一种查看数据表的方式。 可以查询数据表中由某些字段组成的数据。 它只是一些 SQL 语句的集合。 从安全的角度来看,视图不允许用户接触数据表,让他们不知道表结构;

7、表在全局模式下属于表,是实表,视图在本地模式下属于表,是虚表;

8、视图的建立和删除只影响视图本身,不影响对应的基础表;

9. 无法更新或插入视图。

连接

物化视图创建_数据库创建视图的作用_pl sql创建视图

1、视图(view)是建立在基本表之上的表。 它的结构(即定义的列)和内容(即所有数据行)都来自于基础表,它的存在是根据基础表的存在而存在的;

2、一个视图可以对应一个基础表,也可以对应多个基础表;

3、视图是对基本表的抽象,是逻辑意义上建立的新关系。

总结

视图是一个子查询,其性能肯定会低于直接查询(虽然SQL内部有优化),所以使用视图需要注意的一点就是不要嵌套查询,尤其是复杂查询。

数据库创建视图的作用_pl sql创建视图_物化视图创建

视图有什么用

1、当一个查询需要经常作为子查询使用时,视图可以简化代码,直接调用,不用每次都重写这个东西。

2、系统的数据库管理员需要向别人提供一个表中某两列的数据,不希望他看到其他的数据。 这时候他可以创建一个只有这两列数据的视图,然后发布给他。

性能损失解决方案

优化视图的查询语句。

物化视图创建_pl sql创建视图_数据库创建视图的作用

一般来说,直接查询和查询视图没有区别(sql本身会优化),除非视图嵌套了一个视图数据库创建视图的作用,或者子查询计算复杂。

特别提示:

每次选择视图时,视图都会重新计算创建它的规则(sql 算法)。 如果算法复杂,数据量大,就会比较慢,所以每次都会很慢。

而且表的索引对于view视图是无效的,属于全表扫描。

例子

物化视图创建_数据库创建视图的作用_pl sql创建视图

数据库是Oracle,使用的查看工具是免费版的Navicat。

在这里插入图片描述

定位到指定数据,点击视图,右侧显示当前数据库的所有视图。 双击打开查看窗口,看起来和表格一样:

在这里插入图片描述

Ctrl+D进入视图的SQL语句进行查看,如下:

在这里插入图片描述

以上是对工作中使用的视图的简单介绍。 如果大家有什么见解,后续更新,希望对大家有所帮助!