【发布时间】:2015-01-20 07:37:37
【问题描述】:
我在表格中具体化视图的结果。 我想知道他们是否是一种知道该视图的结果何时更改以刷新它的方法。 物化视图和结果缓存可以做到这一点,但我不想同时使用这两种技术。 他们是用另一种方式回答这个问题吗?
事实上,我们有一个通用系统,它每 n 分钟具体化和刷新一次视图。刷新的成本可能很高,我想知道我们是否可以知道基础数据是否发生了变化。
我们不使用物化视图,因为完全刷新会截断表,而快速刷新仅适用于具有主键的表。
结果缓存无法完成这项工作,因为我们没有足够的内存。
所以我想知道我们是否有一种技术可以知道视图的底层数据自上次刷新后是否发生了变化
【问题讨论】:
-
你能把你的观点的sql贴出来吗?你的意思是你根本不想使用物化视图?还是只与结果缓存一起使用?
-
如果您想推出自己的粗略解决方案(不知道为什么,尽管如果数据库具有内置支持),您可以在视图基于的表上插入触发器后更新您的表
-
我们可以假设表没有主键吗?
-
嗨,本。你说的对。表没有主键。
标签: sql oracle view materialized-views