问题标签 [materialized-views]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
database-design - OLTP 应用程序的业务报告
我们有一个使用 Oracle 数据库 10g 企业版的 OLTP 应用程序,并计划构建一个业务报告层来满足以下需求。
- 屏蔽当前 OLTP 数据库设计的复杂性
- 提高当前 OLTP 报告的查询性能
- 提供对其他应用程序的只读访问
- 允许业务用户执行临时报告
我们正在考虑的解决方案是在当前 OLTP 上使用 Oracle 物化视图 (MV) 创建一个数据库缓存层。MV 将被非规范化并设计用于报告。MV 日志将使用增量刷新同步对 MV 的更改。
我的问题是,
- 这种方法有意义吗(MV)?有没有人使用 MV 来构建 OLTP 报告解决方案?
- 这种方法(MV)的缺点是什么?
- 如何使用 Oracle CDC 和表以及执行同步的过程。
- 还有其他方法吗?
谢谢你,雪莉
python - 将数据从缓存表具体化到生产表 [PostgreSQL]
我正在尝试为以下情况找到最佳解决方案(性能/简单代码):
考虑具有两个表 A(生产表)和 A'(缓存表)的数据库系统:
- 未来的行首先添加到 A' 表中,以免干扰生产。
- 当计时器说开始(例如在午夜)时,来自 A' 的行被合并到 A。必须考虑处理重复、不存在的行等。
我一直在阅读一些有关物化视图、触发器等的内容。问题是我不应该在生产表中引入太多噪音,因为它是服务器的参考表(实际上是 PowerDNS 服务器)。
那么,你们怎么看呢?我应该更好地使用触发器、MV 还是在数据库之外以编程方式使用?(我正在使用python,顺便说一句)
提前感谢您帮助我。
sql - 是否可以使用触发器检测哪个表是oracle物化视图中更改的数据?
我有一个物化视图,我想检测:
- 物化视图更新时
- 哪个表的
- 哪些数据(或行)发生了变化?
sql - 提交时物化视图刷新
假设我有一个TABLE
包含两列COL_1
和COL_2
.
我有一个简单读取的物化视图TABLE.COL_1
,并设置为:REFRESH FAST ON COMMIT
。
如果我更新TABLE.COL_2
,物化视图会刷新吗?
oracle - 没有数据透视的行之间的声明性完整性约束
我有类似以下连接表的情况:
我需要在表上设置一个约束,以防止输入重复的组。换句话说:
应该失败,但是
应该成功,因为它是一个独特的群体。
我想到的两种方法是:
- 根据顺序在物化视图中透视表,并在透视字段上放置唯一键。我不喜欢这样,因为在 Oracle 中,由于旋转规则和 32 列索引限制(我想了解决第二个问题的方法,但仍然),我必须限制组中的行数。
- 在 B_ID 的组合上创建一些唯一的哈希值并使其唯一。也许我还不够数学家,但我想不出一种不限制我可以用于 B_ID 的值数量的方法。
我觉得我在这里缺少一些明显的东西,比如我可以添加某种排序列并设置不同的唯一键,但我已经做了很多阅读并且没有想出任何东西。也可能是我继承的数据模型有缺陷,但我想不出任何能给我类似灵活性的东西。
php - 如何使用当前信息创建 mysql 视图
我想创建一个当前信息的视图,如下所示:
上面的语句创建了查询的快照:
因此,如果我在运行此查询后更改表“产品”中任何项目的状态,它不会反映在视图中。我知道这是 mysql 中 CREATE VIEW 的功能,有没有我应该用来查看或过滤当前信息的开关或命令?
oracle - Oracle:如何创建从 XMLType 中提取数据的快速刷新物化视图?
我有一个xml_documents
包含两列的表:一个document_id
列(主键)和一个xml
包含一些 XML 数据的列,这是一个无模式的XMLType
. 我可以只用 with 创建一个物化视图document_id
:
这工作正常,但不是很有用。如您所料,我希望物化视图从 XML 中提取数据,为此我使用extractValue()
. 我正在尝试以下操作:
这失败了:
我应该如何在从 XML 中提取值的提交物化视图上创建快速刷新?
oracle - 在 oracle 中跟踪数据更改的最佳方法
作为我正在谈论的标题,在 oracle 中跟踪数据更改的最佳方法是什么?我只想知道哪一行被更新/删除/插入?
一开始我考虑的是触发器,但是我需要在每个表上写更多的触发器,然后将影响到我的更改表的rowid记录下来,这不好,然后我在Google中搜索,学习有关物化视图日志和更改的新概念数据抓取,
物化视图日志对我有好处,我可以将它与原始表进行比较,然后我可以获得不同的记录,甚至不同的字段,我认为方式与我从原始表创建/复制新表相同(但我不'不知道有什么不同?);
更改数据捕获组件对我来说很复杂 :),所以我不想浪费时间研究它。
任何人都有在 oracle 中跟踪数据更改的最佳方法的经验吗?
oracle - Oracle物化视图记录会自动获取时间戳吗?
Oracle物化视图记录会自动获取时间戳吗?