oracle物化视图和临时表的区别是什么?

物化视图和视图类似,反映的是某个查询的结果,但是和视图仅保存SQL定义不同,物化视图本身会存储数据,因此是物化了的视图。

在一篇文章看到上面的说法,视图是保存SQL的,物化视图是保存数据的,那么众所周知临时表也是保存数据的。

那么物化视图和临时表的区别是什么呢?

阅读 6.6k
2 个回答

物化视图的数据是永久保持的,而且会随着视图相关表数据的变化,根据定义定时或实时进行更新。物化视图大部分情况下是为了性能优化使用的,可以大大提升复杂sql的运行效率。

临时表的数据,根据定义在事务提交或session断开的时候会自动清除,因此更适合存放一些计算过程的中间数据。

临时表数据临时,不能永久存储,不会备份、对其的修改也不会有任何日志信息,但是DML操作速度比较快;
物化视图是某一时间段内数据展现,可以预先计算并保存表连接或聚集等耗时较多的操作的结果,提高查询速度,需要设置手动或自动更新,占物理空间,有物化视图日志。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题