问题标签 [materialized]
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 - 为什么物化视图的 DDL 会出错?
我正在尝试创建如下的物化视图并出现错误,请告知。
甲骨文版本:12.2.0.1.0
oracle - Oracle 版本 19 上的快速刷新物化视图
我正在使用 Oracle 版本 19.0,并希望使用具有快速提交或按需刷新的物化视图。
我的基于表包含 XMLTypes 中的列
我想知道列类型 XMLTypes 是否支持 FAST REFRESH。
xml 示例:
源表 -id nmber, -xml XMLTpes
我的物化视图代码
非常感谢,
oracle - 物化视图创建速度很快,但在 Oracle 19c 上刷新需要数小时
最近需要在Oracle 19c上创建几个物化视图,所有的基表都位于远程oracle数据库上,查询使用dblink连接表,不允许快速刷新。他们中的大多数可以在添加一些提示后在几秒钟内完成刷新,比如 use_hash 等。但是当在查询上创建一个带有 union 的提示时,提示根本不起作用,幸运的是只有一个 union,所以我拆分了查询分为两个部分,但另一个问题出现了,其中一个物化视图的创建时间不超过10秒,但需要数小时甚至数天都无法完成刷新。我在网上搜索并得到以下答案:
- 使用 dbms_mview.refresh(mv_name, 'C', atomic_refresh=>false)。此解决方案不起作用。
- 快速刷新。该解决方案不允许。
- 而不是刷新,每次都重新创建物化视图,这是一种解决方法,但不是解决方案。
- 使用提示 optimizer_features_enable(9.0.0),我在表上模拟了问题(因为我无法在物化视图上插入...选择...),似乎提示确实有效,但是当我尝试将提示应用到物化视图,从执行计划中可以看出提示已被忽略。我还尝试在 dbms_refresh.refresh(mv_name) 之前的调度程序作业上添加 alter session set optimizer_features_enable='9.0.0',但它不起作用。想知道有没有人对这个问题有任何想法?谢谢你。
postgresql - 尝试连接到 postgresql 时连接被拒绝
#Edit 抱歉,它没有连接到 PostgreSQL,但我正在尝试连接到物化 shell,但出现如下错误
我该如何解决这个问题?
谢谢。
oracle - 创建实体化视图时出现 ORA-00600
我正在尝试创建一个物化视图,例如使用以下内容:
但它给了我一个 ORA-00600 并用通常的断开错误断开我的连接:
我们正在运行 Oracle 12c。以这种方式创建物化视图和使用 order by 子句是否存在一些错误?
sql - 物化视图与表格 - 性能
我对 Redshift 很陌生,但在 BI 领域有相当多的经验。我需要专业的 Redshift 开发人员的帮助。这是我的情况:我在 Redshift 中添加了一个外部 (S3) 数据库。这将遭受非常频繁的变化,大约。每 15 分钟一次。我将直接从 Qlik Sense 对这个外部数据库运行大量并发查询。正如最佳实践所说,当较小的表驻留在 Redshift 中时,Redshift + Spectrum 效果最好,我决定将一些计算维度表移动到本地,并将外部表留在 S3 中。我面临的挑战是它是否更适合为此或表使用物化视图。
我已经用 DIST STYLE = ALL 和正确的 SORT KEY 测试了两者,测试表明 MV 更快。我只是不明白为什么会这样。考虑到维度表相当小(<3 百万行),我有以下问题:
- 我们应该使用 MV 并通过计划任务刷新它们还是使用表并通过存储过程(也许)执行某种形式的 ETL 来刷新它。
- 如果使用表:我尝试将 varchar 键(在连接中大量使用)强制转换为 bigint 以强制编码为 AZ64,但查询的性能比不进行转换(其中 encode=LZO)更差。这是因为在外部数据库中它存储为 varchar 吗?
- 如果使用 MV:我也尝试在 MV 后面的查询中进行上述转换,但编码显示为 NONE(通过检查在场景后面创建的表来确定)。此外,即使没有强制转换,连接中使用的大多数键列也没有编码。可能这就是 MV 比 table 快的原因吗?我不应该期待相反的情况 - 没有编码 = 性能更差吗?
更多信息:在 S3 中,我们以 parquet 文件的形式存储,并进行了适当的分区。在 Redshift 中,这些表是根据与 S3 分区相同的列以及更多列进行排序的。并且所有查询都以相同的顺序对这些列使用连接,并且还在这些列的 where 子句中使用过滤器。所以查询结构良好。
如果您需要任何其他详细信息,请告诉我。