问题标签 [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.

0 投票
1 回答
2146 浏览

database-design - OLTP 应用程序的业务报告

我们有一个使用 Oracle 数据库 10g 企业版的 OLTP 应用程序,并计划构建一个业务报告层来满足以下需求。

  • 屏蔽当前 OLTP 数据库设计的复杂性
  • 提高当前 OLTP 报告的查询性能
  • 提供对其他应用程序的只读访问
  • 允许业务用户执行临时报告

我们正在考虑的解决方案是在当前 OLTP 上使用 Oracle 物化视图 (MV) 创建一个数据库缓存层。MV 将被非规范化并设计用于报告。MV 日志将使用增量刷新同步对 MV 的更改。

我的问题是,

  1. 这种方法有意义吗(MV)?有没有人使用 MV 来构建 OLTP 报告解决方案?
  2. 这种方法(MV)的缺点是什么?
  3. 如何使用 Oracle CDC 和表以及执行同步的过程。
  4. 还有其他方法吗?

谢谢你,雪莉

0 投票
1 回答
594 浏览

python - 将数据从缓存表具体化到生产表 [PostgreSQL]

我正在尝试为以下情况找到最佳解决方案(性能/简单代码):

考虑具有两个表 A(生产表)和 A'(缓存表)的数据库系统:

  • 未来的行首先添加到 A' 表中,以免干扰生产。
  • 当计时器说开始(例如在午夜)时,来自 A' 的行被合并到 A。必须考虑处理重复、不存在的行等。

我一直在阅读一些有关物化视图、触发器等的内容。问题是我不应该在生产表中引入太多噪音,因为它是服务器的参考表(实际上是 PowerDNS 服务器)。

那么,你们怎么看呢?我应该更好地使用触发器、MV 还是在数据库之外以编程方式使用?(我正在使用python,顺便说一句)

提前感谢您帮助我。

0 投票
1 回答
384 浏览

sql - 是否可以使用触发器检测哪个表是oracle物化视图中更改的数据?

我有一个物化视图,我想检测:

  • 物化视图更新时
  • 哪个表的
  • 哪些数据(或行)发生了变化?
0 投票
2 回答
342 浏览

sql - 以下代码有什么问题?它告诉我不能在表上创建触发器,但我正在视图中创建(Orders_MV)

可能重复:
为什么这个触发器会失败?它说无效的标识符。


0 投票
1 回答
1862 浏览

sql - 提交时物化视图刷新

假设我有一个TABLE包含两列COL_1COL_2.

我有一个简单读取的物化视图TABLE.COL_1,并设置为:REFRESH FAST ON COMMIT

如果我更新TABLE.COL_2,物化视图会刷新吗?

0 投票
0 回答
181 浏览

oracle - 没有数据透视的行之间的声明性完整性约束

我有类似以下连接表的情况:

我需要在表上设置一个约束,以防止输入重复的组。换句话说:

应该失败,但是

应该成功,因为它是一个独特的群体。

我想到的两种方法是:

  1. 根据顺序在物化视图中透视表,并在透视字段上放置唯一键。我不喜欢这样,因为在 Oracle 中,由于旋转规则和 32 列索引限制(我想了解决第二个问题的方法,但仍然),我必须限制组中的行数。
  2. 在 B_ID 的组合上创建一些唯一的哈希值并使其唯一。也许我还不够数学家,但我想不出一种不限制我可以用于 B_ID 的值数量的方法。

我觉得我在这里缺少一些明显的东西,比如我可以添加某种排序列并设置不同的唯一键,但我已经做了很多阅读并且没有想出任何东西。也可能是我继承的数据模型有缺陷,但我想不出任何能给我类似灵活性的东西。

0 投票
2 回答
367 浏览

php - 如何使用当前信息创建 mysql 视图

我想创建一个当前信息的视图,如下所示:

上面的语句创建了查询的快照:

因此,如果我在运行此查询后更改表“产品”中任何项目的状态,它不会反映在视图中。我知道这是 mysql 中 CREATE VIEW 的功能,有没有我应该用来查看或过滤当前信息的开关或命令?

0 投票
1 回答
4560 浏览

oracle - Oracle:如何创建从 XMLType 中提取数据的快速刷新物化视图?

我有一个xml_documents包含两列的表:一个document_id列(主键)和一个xml包含一些 XML 数据的列,这是一个无模式的XMLType. 我可以只用 with 创建一个物化视图document_id

这工作正常,但不是很有用。如您所料,我希望物化视图从 XML 中提取数据,为此我使用extractValue(). 我正在尝试以下操作:

这失败了:

我应该如何在从 XML 中提取值的提交物化视图上创建快速刷新?

0 投票
3 回答
18460 浏览

oracle - 在 oracle 中跟踪数据更改的最佳方法

作为我正在谈论的标题,在 oracle 中跟踪数据更改的最佳方法是什么?我只想知道哪一行被更新/删除/插入?

一开始我考虑的是触发器,但是我需要在每个表上写更多的触发器,然后将影响到我的更改表的rowid记录下来,这不好,然后我在Google中搜索,学习有关物化视图日志和更改的新概念数据抓取,

物化视图日志对我有好处,我可以将它与原始表进行比较,然后我可以获得不同的记录,甚至不同的字段,我认为方式与我从原始表创建/复制新表相同(但我不'不知道有什么不同?);

更改数据捕获组件对我来说很复杂 :),所以我不想浪费时间研究它。

任何人都有在 oracle 中跟踪数据更改的最佳方法的经验吗?

0 投票
2 回答
1671 浏览

oracle - Oracle物化视图记录会自动获取时间戳吗?

Oracle物化视图记录会自动获取时间戳吗?