问题描述
嗨!
我的数据库有2个模式。在SCHEMA_ONE上,我有一个视图,在3秒内运行以返回420.000行。
在schema_2中,我有一个具体化的视图,我总是这样删除和重新创建:
创建物化视图my_mat_view_name
刷新完成
作为
从SCHEMA_ONE.my_view_name中选择 *;
上面的脚本需要10:30分钟才能完成。
如果我只是创建一个像下面这样的表格,它需要1秒。
创建表my_table_name
作为
从SCHEMA_ONE.my_view_name中选择 *
为什么我在两个脚本之间有很大的不同?我想使matview脚本运行速度与第二个脚本一样快。
我的数据库有2个模式。在SCHEMA_ONE上,我有一个视图,在3秒内运行以返回420.000行。
在schema_2中,我有一个具体化的视图,我总是这样删除和重新创建:
创建物化视图my_mat_view_name
刷新完成
作为
从SCHEMA_ONE.my_view_name中选择 *;
上面的脚本需要10:30分钟才能完成。
如果我只是创建一个像下面这样的表格,它需要1秒。
创建表my_table_name
作为
从SCHEMA_ONE.my_view_name中选择 *
为什么我在两个脚本之间有很大的不同?我想使matview脚本运行速度与第二个脚本一样快。
专家解答
尝试这样的事情来追踪活动
在我的跟踪文件中,我最终看到以下内容:
光标解析 #2638142355840 len = 69 dep = 1 uid = 1 10月07日 = 1 lid = 107 tim = 728811237493 hv = 3922666197 ad = '7ff958e77c50' sqlid = '889f2u7nwy8qp'
创建表 “MCDONAC”。“MY_MAT_VIEW_NAME” 作为选择 * 来自mcdonac.t
STMT结束
因此,您可以看到,无论如何,我们几乎都在进行相同的操作。但是运行跟踪,然后在跟踪文件上运行tkprof,看看您在哪里浪费时间。
-- -- my sample table (you would use your real table) -- SQL> create table t as select d.* from dba_objects d, 2 ( select 1 from dual connect by level <= 20 ) ; Table created. SQL> SQL> exec dbms_monitor.session_trace_enable(waits=>true); PL/SQL procedure successfully completed. SQL> SQL> CREATE MATERIALIZED VIEW my_mat_view_name 2 REFRESH COMPLETE 3 AS 4 SELECT * FROM mcdonac.t; Materialized view created. SQL> SQL> exec dbms_monitor.session_trace_disable; PL/SQL procedure successfully completed.复制
在我的跟踪文件中,我最终看到以下内容:
光标解析 #2638142355840 len = 69 dep = 1 uid = 1 10月07日 = 1 lid = 107 tim = 728811237493 hv = 3922666197 ad = '7ff958e77c50' sqlid = '889f2u7nwy8qp'
创建表 “MCDONAC”。“MY_MAT_VIEW_NAME” 作为选择 * 来自mcdonac.t
STMT结束
因此,您可以看到,无论如何,我们几乎都在进行相同的操作。但是运行跟踪,然后在跟踪文件上运行tkprof,看看您在哪里浪费时间。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
【专家有话说第五期】在不同年龄段,DBA应该怎样规划自己的职业发展?
墨天轮编辑部
1325次阅读
2025-03-13 11:40:53
Oracle RAC ASM 磁盘组满了,无法扩容怎么在线处理?
Lucifer三思而后行
798次阅读
2025-03-17 11:33:53
Oracle+Deepseek+Dify 实现数据库数据实时分析
bicewow
725次阅读
2025-03-06 09:41:49
2月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
468次阅读
2025-03-13 14:38:19
Oracle 如何修改 db_unique_name?强迫症福音!
Lucifer三思而后行
363次阅读
2025-03-12 21:27:56
Oracle DataGuard高可用性解决方案详解
孙莹
316次阅读
2025-03-26 23:27:33
Oracle分区和执行计划相关的几个问题
听见风的声音
310次阅读
2025-03-07 08:51:42
数据库管理-第299期 数据库是否需要定期重启(20250306)
胖头鱼的鱼缸
252次阅读
2025-03-06 09:09:35
切换Oracle归档路径后,不能正常删除原归档路径上的归档文件
dbaking
250次阅读
2025-03-19 14:41:51
风口浪尖!诚通证券扩容采购Oracle 793万...
Roger的数据库专栏
245次阅读
2025-03-24 09:42:53