问题标签 [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.
oracle - Oracle——物化视图,这个MV可以快速刷新吗?
我有一个看起来有点像下面的物化视图,我想知道是否有任何方法可以让这个物化视图“快速”刷新?基本上,我要问以下问题:
物化视图是否可以包含诸如 COALESCE、NVL、NVL2 等 Oracle 函数并且仍然可以快速刷新
物化视图是否可以包含我制作的功能并且仍然可以快速刷新。
物化视图是否可以包含到派生表的连接并且仍然可以快速刷新?
我检查了有关此的Oracle 文档,它没有列出这些限制,但是在我自己的系统上测试了下面的案例后,我认为这是不可能的。
甲骨文版本:10g
oracle - Oracle - 物化视图在完全刷新期间仍可访问。这是如何运作的?
在我们的一个应用程序中,我们有一个巨大的物化视图,每天刷新 3 次,刷新需要 7 个小时。(不理想,我知道)。这让我感到困惑,因为我当然认为用户和会话在刷新时无法访问这个物化视图,但显然他们可以!(刷新的类型是完全刷新)
据我了解,在完全刷新期间,现有数据集被删除,然后重新执行查询。如果这是真的,那么用户/其他会话如何在物化视图被刷新时访问物化视图?
sql - 从物化视图 DDL 中删除表空间信息
使用以下 SQL,可以获得给定物化视图的 DDL。
如果没有表空间信息,我很难检索 DDL。这些SET_TRANSFORM_PARAM
指令实际上被记录为特定于表和索引(不是物化视图)。STORAGE
一个确实有效,而andTABLESPACE
没有SEGMENT_ATTRIBUTES
效果。有没有办法从生成的 DDL 中省略表空间信息?
oracle - oracle物化视图错误
我已经物化了在生产中运行的视图,但是在刷新时遇到了问题。错误信息是
ORA-32411: 物化视图定义查询超出最大长度
有问题的是 76kb、70kb、75kb 和 67kb。除了拆分查询之外,还有什么可以做的吗?每个脚本都是一个长查询,因此很难拆分。
oracle - Oracle物化视图问题
我有一个表格,其中包含有关不同事件的信息,例如
我意识到 90% 的查询只访问今天的事件;较旧的行被存储用于历史记录,并最终移动到存档表中。
但是,事件表仍然很大,我想知道我是否可以通过创建一个物化视图来提高性能,该视图具有类似的东西WHERE event_date = trunc(sysdate)
,也许是索引event_date
?是否允许?
谢谢
ruby-on-rails - 数据库触发器与 Rails ActiveRecord 回调的优缺点?
我正在使用 Ruby on Rails 和 PostgreSQL 编写程序。系统会生成大量报告,这些报告经常被用户更新和访问。我在是否应该使用 Postgres 触发器来创建报告表(如 Oracle 物化视图)或 Rails 内置的 ActiveRecord 回调之间犹豫不决。有没有人对此有任何想法或经验?
sql-server-ce - Sql Server Compact Edition 是否支持视图?
SQL Server Compact Edition 的当前版本或任何计划的未来版本是否支持物化视图?除了直接的 SQL 和表索引之外,有没有办法以其他方式实现类似的功能?
oracle - 用于创建物化视图的表空间?
我正在尝试创建这样的视图:
我得到的只是一个错误::ORA-01658
无法为表空间MySmallTS中的段创建初始范围
好的,现在,MySmallTS
这是我尝试创建视图的用户的默认ts - 它已满。一个完整的表空间是一个单独的问题,并且正在处理中,但是为什么 Oracle 试图将它用于这个视图,即使我明确地告诉我想要它在哪里?
此外,如果我更改查询 a 并删除group by
's,它将起作用,并且它将在正确的表空间中创建视图。
我想知道,分组和求和之类的整个操作,不应该使用TEMP
为该用户分配的表空间吗?这似乎是合理的,顺便说一句,我的临时有足够的空间......
为什么呢?
谢谢
error-handling - 在 Oracle 物化视图中记录导致错误的数据的方法?
我们创建了一些针对实际应用数据副本运行良好的物化视图。该应用程序不会监管自己的数据。从那时起,一些用户可能在他们的数据输入中要么粗心大意,要么有创意。Mview 现在窒息而死。错误消息表明我们正在从一个或多个函数返回多行。
我们一直在尝试使用 EXCEPTIONS ——在 DBMS_Output 上取得了一些成功,第一行 object_id 导致(其中一个)函数失败。最好能够完成 MView 的运行,并记录导致每个函数出现问题的 object_ids。我们还没有成功地将异常数据插入到表中。
平台是Oracle 10g2。我一直试图将 DML Error Logging 塞进我的脑海。我知道这应该适用于 BULK 数据,并且我假设创建一个物化视图是合格的。这对 MViews 有用吗?这是最好的方法吗?
mysql - 处理/压缩多个表中的大型数据集
在我们公司的一个应用程序中,我们从我们的服务器收集统计数据(负载、磁盘使用情况等)。由于有大量数据,而且我们并不总是需要所有数据,我们有一个“压缩”例程来获取原始数据并计算最小值。许多数据点的最大值和平均值,将这些新值存储在同一个表中,并在几周后删除旧值。
现在我的任务是重写这个压缩例程,新的例程必须将我们拥有的所有未压缩数据保存一年在一个表中,并将“压缩”数据保存在另一个表中。我现在主要关心的是如何处理不断写入数据库的数据以及是否使用“事务表”(我自己的术语,因为我想不出更好的,我不是在谈论提交/rollback 事务功能)。
截至目前,我们的数据收集器将所有信息插入到一个名为的表中ovak_result
,压缩后的数据最终将以ovak_resultcompressed
. ovak_resultuncompressed
但是,创建一个名为并仅用ovak_result
作“临时存储”的表有什么特定的好处或缺点吗?ovak_result
将保持最小,这对压缩例程有好处,但我需要不断地将一个表中的所有数据洗牌到另一个表中,并且会不断地读取、写入和删除ovak_result
.
MySQL中是否有任何机制来处理这些事情?
(请注意:我们在这里谈论的是相当大的数据集(未压缩表中大约有 100 M 行,压缩表中大约有 1-10 M 行)。此外,我可以通过软件和硬件配置来做几乎我想做的事情因此,如果您有任何涉及 MySQL 配置或硬件设置的提示或想法,请直接提出。)