hiF*_*iFI 4 oracle database-recommendation database-tuning
正如我的主题所暗示的那样,我想知道创建视图是否会在空间、存储、性能方面对数据库造成开销?
有关此类问题,请参阅概念指南 - 视图概述:
视图概览
视图是一个或多个表的逻辑表示。本质上,视图是一个存储查询。
[...]视图的特征
与表不同,视图没有分配存储空间,视图也不包含数据。相反,视图由从视图引用的基表中提取或派生数据的查询定义。由于视图基于其他对象,因此除了用于定义数据字典中视图的查询的存储之外,它不需要其他存储。
创建视图是否会对性能产生影响是无法回答的。如果你不使用它,它不会影响任何东西。如果您使用它并且恰好视图“代表”的查询具有较差的性能特征,那么它将与直接运行底层查询产生本质上相同的不良影响。
现在物化视图是一个完全不同的概念,并且确实包含数据。它们还可以影响未通过查询重写明确提及它们的 SQL 语句的性能- 但同样,如果没有具体细节,将产生什么样的影响是无法回答的。
(物化视图更频繁地(但不是唯一地)用于数据仓库类型的场景,而普通视图则无处不在。)