问题标签 [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.
sql - Oracle中的视图和物化视图有什么区别?
Oracle中的视图和物化视图有什么区别?
sql - 是否可以在 MySQL 中有索引视图?
我在 2005 年的 MySQL 论坛上发现了一个帖子,但没有比这更近的了。基于此,这是不可能的。但是很多东西会在 3-4 年内发生变化。
我正在寻找的是一种在视图上建立索引但让被查看的表保持未索引的方法。索引会损害写入过程,并且该表的写入频率很高(索引会减慢所有内容的爬行速度)。但是,缺少索引使我的查询非常缓慢。
oracle - oracle物化视图刷新时间
谁能告诉我使用以下设置刷新物化视图的频率?
REFRESH FORCE ON DEMAND START WITH sysdate+0 NEXT (round(sysdate) + 1/24) + 1
我想我每小时都读一次,但我不确定
informix - informix 是否具有等效的“物化视图”或 DB 表同步
问题: Informix 是否具有与 Oracle 的“物化视图”等效的构造,或者是否有更好的方法来同步跨数据库链接的两个表(不是数据库)?我可以自己写一个同步(被要求),但这似乎是在重新发明轮子。
背景:最近我们不得不拆分(DB 的一部分一个服务器,另一部分在另一台服务器上)一个整体 Informix 9.30 DB(Valent 的 MPM),因为 AppServer 和 DB 服务器的组合无法再处理负载。
在这样做时,我们必须拆分一个用户定义的表空间(KPI 存储库),该表空间以巨大的事实表和明确定义的维度表的星形模式排列。
不幸的是,一位电信公司经理决定将维度表(标准化、无数据冗余、无需编码)集中在一台机器上,从而使它们作为另一台机器上的 DB-link 的视图可用。这既慢又不稳定,因为如果视图用于子查询(可演示),它时不时会导致数据库服务器崩溃,在产品服务器上非常不酷
mysql - MySQL视图是否总是进行全表扫描?
我正在尝试优化使用 MySQL 5.1 中的视图的查询。似乎即使我从视图中选择 1 列,它也总是会进行全表扫描。这是预期的行为吗?
对于我在下面的第一个查询中指定的表,该视图只是一个 SELECT "All Columns From These Tables - NOT *"。
这是我从构成视图的查询中选择索引列 PromotionID 时的解释输出。如您所见,它与视图上的输出有很大不同。
当我从视图中选择相同的东西时的输出
oracle - Oracle物化视图调优
我正在尝试在我的应用程序中执行物化视图的调整。我开始执行:
程序,并将以下代码写入 Oracle SQL Developer 的 SQL_Worksheet:
显然,已经创建了物化视图(使用refresh fast on commmit
,但是运行速度慢得令人无法接受)。顾问报告以下错误:
但是,没有更多的报告,没有第二条错误消息的痕迹。有谁知道这里有什么问题?我更加惊讶,因为 MV 已经存在并且在数据库中工作,尽管速度很慢。
在相关说明中,有谁知道如何在 SQL Developer 中输入多行字符串。当我尝试类似的事情时:
SQL Developer 在第一行窒息。字符串连接闪过我的脑海,但我有几个 100-150 行的 MV,我讨厌为每一个手动做。
oracle - 为什么 DBMS_MVIEW.REFRESH 有隐式提交?
我最近注意到调用 dbms_mview.refresh(...) 会刷新 Oracle 中的物化视图,它具有隐式提交。
任何想法——除了“因为它确实”——为什么这个动作有一个隐含的提交?
unit-testing - 如何在java中测试物化视图
有没有办法使用 Hibernate 框架为物化视图编写自动化测试?
我不知道如何使它工作。我的第一种方法是使用 DBMS_MVIEW.REFRESH 存储过程。但是,这不是我需要的——所有测试数据都是在刷新视图后提交的。有什么不同的方法来测试视图吗?
database - 同一数据库服务器上的 Oracle 物化视图与复制
我们需要在一天中的预定时间运行报告。该应用程序运行 24*7,因此没有“非高峰”时间。
因此,运行报告不应在系统上增加过多的负载。
该应用程序在 WebSphere v6.1 上运行,数据库是 Oracle 10g R2。
我可以使用以下方法
- 一组旨在报告的非规范化表格。
- 创建物化视图并将其用于报告。我们可以每天更新一次视图。
- 我们可以使用 Oracle 的 Data Guard 创建另一个模式并实时复制表。
(1) 由于我们有某些内部限制,这是不可行的。
从性能的角度来看,我需要知道 (2) 还是 (3) 哪个更好?
我从许多人那里听说物化视图最初运行良好,但随着数据量的增加,性能非常差。
任何人都有在同一数据库服务器中复制表的经验(但不同的实例或模式)。
sql - Oracle 中远程物化视图的性能
我有一个关于 Oracle 物化视图的问题...
我们有两个数据库:
- 核心数据库
- 报告数据库
报告数据库具有:
- 指向核心数据库的数据库链接
- Core 数据库中表的一些同义词
- 在这些同义词之上定义了许多物化视图。
视图设置为每小时刷新一次。
随着源系统中数据量的增加,我们看到用于实现视图的 CPU 增加。
仔细检查后,似乎视图刷新过程在报告数据库中构建了结果集,并将单个较小的 SQL 语句发送到核心数据库。
其中一些物化视图非常复杂,并且在表之间有很多连接。这导致了数百万条针对 Core 数据库的小 SQL 语句。
我的问题是:最好在核心数据库中创建一个相应的“复杂”视图,并在报告数据库中有一个物化视图,作为一个简单的“SELECT * FROM CORE.MY_MAT_VIEW”
感谢您的任何指示,
干杯,埃文