【发布时间】:2010-10-14 13:43:53
【问题描述】:
我正在尝试在我的应用程序中调整物化视图。我开始执行:
dbms_advisor.tune_mview()
过程,并将以下代码写入Oracle SQL Developer的SQL_Worksheet:
variable mvtask varchar2(100);
variable mvddl varchar2(4000);
execute :mvtask := 'MV_FOO_BAR';
execute select query into :mvddl from user_mviews where view_name = 'MV_FOO_BAR';
execute dbms_advisor.tune_mview(:mvtask, :mvddl);
select * from user_tune_mview;
显然,物化视图已经创建(使用refresh fast on commmit,但是运行速度慢得令人无法接受)。顾问报告以下错误:
但是,没有更多的报告,没有第二条错误消息的踪迹。有谁知道这里有什么问题?我更加惊讶,因为 MV 已经存在并且可以在数据库中运行,尽管速度很慢。
在相关说明中,有谁知道如何在 SQL Developer 中输入多行字符串。当我尝试类似:
execute :mvddl :='create materialized view MV_FOO_BAR
build immediate
refresh fast on commit
...
';
SQL Developer 在第一行就窒息了。字符串连接闪过我的脑海,但我有几个 100-150 行的 MV,我讨厌为每一个手动做。
【问题讨论】:
标签: oracle performance oracle-sqldeveloper materialized-views