如何使用物化视图来提高性能?我知道oracle视图会存储在高速缓存中,但客户端第一次查询视图时除外。我们通常在数据量很大时使用实例化视图来获取数据库的快照,但是我想知道该实例化视图的存储位置吗?可以将其远程存储在客户端计算机中(在indexedDB中)以提高性能?
答案 0 :(得分:0)
视图只是存储的查询,它们不包含任何数据,也不占用磁盘空间。如果它们很复杂并且要处理大量数据,那么可以-提取数据会很慢(就像您自己运行SELECT
一样)。
物化视图(MV)确实包含数据并占用磁盘上的空间(哪个是服务器的,当然是数据库所在的位置)。它们像表一样“起作用”-如果您使用与普通视图相同的查询并创建物化视图,则可以对MV进行索引(并且可能会)有助于更快地访问数据。
另一方面,视图总是包含最新数据。物化视图必须刷新。有不同的方法可以做到这一点。一种选择是在提交时刷新 ,即,每当将数据提交到作为MV基础的表中时,刷新。或者,您可以按计划的方式执行此操作(例如,每天晚上02:00),这取决于您需要多长时间获取一次最新数据。
文档中的更多信息,例如“材料化视图概念”(https://docs.oracle.com/database/121/REPLN/repmview.htm#REPLN003)。