Oracle物化视图问题

Oracle物化视图问题,第1张

概述例如,我有一个表格,其中包含有关不同事件的信息 CREATE TABLE events ( id int not null primary key, event_date date, ...) 我意识到90%的查询只访问今天的事件;旧行存储在历史记录中,最终移动到存档表. 但是,事件表仍然很大,我想知道我是否可以通过创建具有WHERE event_date = trunc(sy 例如,我有一个表格,其中包含有关不同事件的信息

CREATE table events (    ID int not null primary key,event_date date,...)

我意识到90%的查询只访问今天的事件;旧行存储在历史记录中,最终移动到存档表.
但是,事件表仍然很大,我想知道我是否可以通过创建具有WHERE event_date = trunc(sysdate)和event_date索引的物化视图来提高性能?它是否允许?

谢谢

解决方法 是的,这是允许的,请参阅“主键物化视图”:

Primary key materialized vIEws may contain a subquery so that you can
create a subset of rows at the remote materialized vIEw site

和“复杂的物化观点”

If you refresh rarely and want faster query performance,then use
Method A (complex materialized vIEw).

If you refresh regularly and can sacrifice query performance,then use Method B (simple materialized vIEw).

在http://download.oracle.com/docs/cd/B10500_01/server.920/a96567/repmview.htm

在你的例子中,很可能恕我直言,这不是一个“复杂的物化视图”:

CREATE MATERIAliZED VIEW events_today REFRESH FAST ASSELECT * FROM EVENT WHERE event_date = trunc(sysdate);

试试吧,看看Oracle是否接受了REFRESH FAST子句.

编辑 – 另一种选择:

根据您的DB Edition(企业分区)和版本(11gR2),您可以使用名为INTERVAL分区的新Oracle功能来定义现有表中的“每日分区”.这样,大多数查询都可以更快地获得更快,而无需有效地复制数据 – 请参阅http://www.oracle.com/technetwork/database/options/partitioning/twp-partitioning-11gr2-2009-09-130569.pdf

总结

以上是内存溢出为你收集整理的Oracle物化视图问题全部内容,希望文章能够帮你解决Oracle物化视图问题所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/1162801.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存