问题描述
我在Oracle 19c中使用如下的REFRESH FAST ON COMMIT创建了一个物化视图:
CREATE MATERIALIZED VIEW LOG ON MY_TABLE
WITH SEQUENCE,ROWID(ID,COLUMN1,COLUMN2,COLUMN3)
INCLUDING NEW VALUES;
CREATE MATERIALIZED VIEW MV_MYVIEW
BUILD IMMEDIATE
REFRESH FAST ON COMMIT
disABLE QUERY REWRITE
AS
SELECT COLUMN1,count(*) AS COLUMN4
FROM MY_TABLE
WHERE COLUMN3 IS NULL
GROUP BY COLUMN1,COLUMN2;
快速刷新似乎可以很好地配合解释:
BEGIN
DBMS_MVIEW.EXPLAIN_MVIEW ('MV_MYVIEW');
END;
SELECT *
FROM MV_CAPABILITIES_TABLE
where MVNAME = 'MV_MYVIEW'
ORDER BY seq;
问题在于,在一些性能测试中,要在主表MY_TABLE中写很多内容,阻塞的会话急剧增加。
COMMIT上的MV是否正常?主表MY_TABLE不太大(528729行),查询速度很快。
一旦阻止会话消失,我尝试删除MV,但由于锁定会话而挂起了很长一段时间,我无法删除它。我试图终止会话,截断表,删除日志,将刷新更改为按需设置...无济于事
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)