物化视图与视图的区别2024 年 8 月 29 日 | 阅读 6 分钟 视图是数据库管理系统中最重要的概念之一。在面试中,这是一个很受欢迎且常见的问题,类似于TRUNCATE与DELETE、相关子查询与非相关子查询,或者主键与唯一键。本教程将学习视图和物化视图之间的区别。 原始表存储在数据库的物理内存中。我们可以通过运行查询来访问所有属性。但有时,我们必须限制用户从表中获取某些数据,并允许他们只获取允许的属性。假设我们有一个学生表,用户可以搜索学生姓名、分数、专业、年龄等学生信息。但用户不允许获取学生的手机号码和地址。 在这种情况下,创建一个视图来显示表中所需属性的数据是一个好方法。我们可以通过创建虚拟表或视图和物化视图来实现这样的功能。 让我们来理解视图的概念。 什么是视图?视图是数据库的虚拟表,它起着实际关系的作用。它不是数据库系统的逻辑关系模型的一部分。它们是使用SELECT查询创建的,但结果不存储在物理内存中。每次我们向视图执行查询时,视图都会返回原始表中的更新和最新数据。这意味着视图在每次访问视图时都会生成。在此视图中,查询定义存储在数据库本身中。我们可以创建任意数量的视图。 要记住的一点是,当我们对虚拟表进行任何更改时,这些更改都会反映在原始表中。如果我们对原始表或基表进行任何更改,这些更改都会反映在视图中。这使得查询性能非常慢。例如,我们从两个或多个表的连接创建了一个视图。在这种情况下,我们必须解析连接,并在每次尝试获取数据时重新创建它们。 然而,它提供了一些优点,例如它不需要内存来存储数据。我们可以使用以下语法创建视图。 语法 -注意 - 使用DISTINCT子句、GROUP BY子句、CHECK约束、只读选项创建的视图不能被修改。视图的优点以下是一些视图的重要优点。
什么是物化视图?物化视图也称为虚拟表,但查询表达式的结果保存在物理内存中。查询定义也存储在数据库中。我们也可以认为它们是原始基表的物理副本。它主要用于数据仓库的上下文。SQL中没有标准的视图来定义物化视图。然而,一些数据库管理系统提供了自定义扩展来使用物化视图。与普通视图不同,它们不会在每次使用时更新。相反,我们需要手动更新它,或借助触发器。更新物化视图的过程称为物化视图维护。 它将结果存储在物理内存中,它的响应速度比普通视图快,因为普通视图在每次运行查询时都会创建。它主要用于汇总、预计算、复制和分发数据等。 让我们来理解物化视图的语法。 在上面的语法中,Build子句决定何时填充物化视图。它包含两个选项 -
Refresh type 定义了如何更新物化视图。有三个选项 -
On trigger 定义了何时更新物化视图。刷新可以通过两种方式触发 -
我们已经讨论了普通视图和物化视图的基本概念。现在,让我们看看普通视图和物化视图之间的区别。 物化视图的优点以下是物化视图的一些重要优点。
视图与物化视图的区别以下是视图和物化视图之间的一些重要区别。
结论视图在数据检索中起着至关重要的作用。在本教程中,我们介绍了视图和物化视图的定义以及它们的一些重要优点。我们已经用合适的示例定义了这两种视图。在这里,您可以理解这两种视图之间的主要区别,并根据您的需求进行选择。 下一主题Python中的命名空间 |
Python 字典是键值形式存储的数据集合。每个键都与其值关联。它的本质是可变的,这意味着我们可以在创建后更改数据。它是无序的数据集合,允许存储重复值...
阅读 2 分钟
随机学习是一种流行的技术,用于机器学习中以提高模型的性能和效率。这种方法中最常用的算法之一是多层感知器 (MLP) 分类器。在本文中,我们将比较 MLP 分类器的不同随机学习策略...
阅读 6 分钟
在许多学科中,如图形学、社交网络、交通系统等,图是描述对象之间关系的强大数学结构。在许多应用中,如图分析和计算,这是一项重要的活动,可能具有挑战性,尤其是在处理具有稀疏性的大型网络时...
阅读9分钟
众所周知,Python 是一种标准的脚本语言,因为它具有多功能特性。在下面的教程中,我们将了解如何借助 tkinter 和... 构建一个 GUI 应用程序来关闭、重启和注销计算机。
阅读 24 分钟
Python 是一种流行的编程语言,用于数据分析、Web 开发和机器学习等各种任务。其受欢迎的原因之一是可用于扩展其功能的库数量众多。这些库,也称为模块,是预先编写的代码,...
阅读 4 分钟
在当今时代,新技术在我们生活的各个方面变得越来越重要,选择一种能够熟练解决日常问题的编程语言至关重要。Python 就是这种编程语言的一个例子。近年来,Python 的...
5 分钟阅读
二进制语言是计算机的语言。计算机的所有内部机制都与位有关。位运算符是允许程序员对整数执行位操作的一组运算符。这些运算符允许程序员操作较低级别的数据,在...
阅读 3 分钟
在本教程中,我们将编写用于股票跨度问题的Python程序。这是一个在技术面试中经常出现的非常流行的编程问题。股票跨度问题是一个金融挑战,涉及分析一系列N个每日报价...
7 分钟阅读
在过去的几年中,Python编程语言中的聊天机器人已在技术和商业领域受到热烈追捧。这些智能机器人擅长模仿自然人类语言并与人类聊天,以至于不同行业的公司都在接受它们....
阅读 10 分钟
Python | 使用 Tkinter 进行消息编码-解码 加密是将文本或信息转换为无法识别的形式的方法,而解密确实是从加密消息中获取原始形式的方法。消息加密和解密的过程包括首先更改...
阅读 4 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India