hiFI Asked: 2014-01-04 04:41:09 +0800 CST2014-01-04 04:41:09 +0800 CST 2014-01-04 04:41:09 +0800 CST 创建视图会导致数据库开销吗? 772 正如我的主题所暗示的那样,我想知道创建视图是否会在空间、存储、性能方面对数据库造成开销? oracle database-recommendation 1 个回答 Voted Best Answer Mat 2014-01-04T05:00:12+08:002014-01-04T05:00:12+08:00 有关此类问题,请参阅概念指南 - 视图概述: 视图概述 视图是一个或多个表的逻辑表示。本质上,视图是一个存储的查询。 [...] 视图的特征 与表不同,视图不分配存储空间,视图也不包含数据。相反,视图是由从视图引用的基表中提取或派生数据的查询定义的。因为视图是基于其他对象的,所以除了存储用于在数据字典中定义视图的查询之外,它不需要存储。 创建视图是否会对性能产生影响是无法回答的。如果你不使用它,它不会影响任何事情。如果您使用它并且碰巧视图“表示”的查询具有较差的性能特征,那么它将具有与直接运行基础查询基本相同的不良影响。 现在物化视图是一个完全不同的概念,并且确实包含数据。它们还可以影响未通过查询重写明确提及它们的 SQL 语句的性能——但同样,如果没有具体的细节,将产生什么样的影响是无法回答的。 (物化视图更频繁地(但不是唯一地)用于数据仓库类型的场景,而普通视图无处不在。)
有关此类问题,请参阅概念指南 - 视图概述:
创建视图是否会对性能产生影响是无法回答的。如果你不使用它,它不会影响任何事情。如果您使用它并且碰巧视图“表示”的查询具有较差的性能特征,那么它将具有与直接运行基础查询基本相同的不良影响。
现在物化视图是一个完全不同的概念,并且确实包含数据。它们还可以影响未通过查询重写明确提及它们的 SQL 语句的性能——但同样,如果没有具体的细节,将产生什么样的影响是无法回答的。
(物化视图更频繁地(但不是唯一地)用于数据仓库类型的场景,而普通视图无处不在。)