- 浏览: 1147337 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (411)
- Java Foundation (41)
- AI/机器学习/数据挖掘/模式识别/自然语言处理/信息检索 (2)
- 云计算/NoSQL/数据分析 (11)
- Linux (13)
- Open Source (12)
- J2EE (52)
- Data Structures (4)
- other (10)
- Dev Error (41)
- Ajax/JS/JSP/HTML5 (47)
- Oracle (68)
- FLEX (19)
- Tools (19)
- 设计模式 (4)
- Database (12)
- SQL Server (9)
- 例子程序 (4)
- mysql (2)
- Web Services (4)
- 面试 (8)
- 嵌入式/移动开发 (18)
- 软件工程/UML (15)
- C/C++ (7)
- 架构Architecture/分布式Distributed (1)
最新评论
-
a535114641:
LZ你好, 用了这个方法后子页面里的JS方法就全不能用了呀
页面局部刷新的两种方式:form+iframe 和 ajax -
di1984HIT:
学习了,真不错,做个记号啊
Machine Learning -
赵师傅临死前:
我一台老机器,myeclipse9 + FB3.5 可以正常使 ...
myeclipse 10 安装 flash builder 4.6 -
Wu_Jiang:
触发时间在将来的某个时间 但是第一次触发的时间超出了失效时间, ...
Based on configured schedule, the given trigger will never fire. -
cylove007:
找了好久,顶你
Editable Select 可编辑select
视图是基于一个表或多个表或视图的逻辑表,本身不包含数据,只是存储在数据字典里的一条select语句;所以,通过视图做查询并不能提高查询效率。
怎样对连接多表的视图进行DML操作?
在Oracle系统里,如果一个视图是由一个基表的所有非空列(Not Null)组成,那么该视图是可以进行INSERT、DELETE和UPDATE操作的。
但是如果一个视图由多个基表进行连接(Join)而成,则该视图不允许进行INSERT、DELETE和UPDATE操作的。
而Oracle提供的替代触发器(Instead of Trigger)就是用于对连接视图进行Insert、Delete、Update操作的触发器。也就是说,通过编写替代触发器,可以对连接视图进行DML操作,从而实现对各基表数据的修改。
Only INSTEAD OF triggers can be created on a view.
如欲在视图上创建before或after trigger,会报:
INSTEAD OF triggers are valid only for views. You cannot specify an INSTEAD OF trigger on a table.
You can read both the :OLD and the :NEW value, but you cannot write either the :OLD or the :NEW value.
关于INSTEAD OF view :http://download.oracle.com/docs/cd/B12037_01/server.101/b10759/statements_7004.htm
例子:http://www.devx.com/tips/Tip/21433
怎样在视图上建立触发器,在视图数据改动后,触发某一动作?
About MATERIALIZED VIEW:
http://download.oracle.com/docs/cd/B10500_01/server.920/a96567/repmview.htm#26164
http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/statements_6002.htm
http://www.databasejournal.com/features/oracle/article.php/2192071/Materialized-Views-in-Oracle.htm
http://blog.csdn.net/XIAOHUI_LIAO/archive/2007/08/27/1759990.aspx
About MATERIALIZED VIEW LOG:
http://download.oracle.com/docs/cd/B12037_01/server.101/b10759/statements_6003.htm#i2064649
物化视图:
http://yangtingkun.itpub.net/post/468/11356(这个博客有多篇关于物化视图的资料,搜索其"物化视图")
ITPUB知识索引贴——物化视图:
http://www.itpub.net/thread-1308625-2-1.html
Oracle经过长时间的发展,很多用户都很了解Oracle物化视图了,这里我发表一下个人理解,和大家讨论讨论。Oracle物化视图提供了强大的功能,可以用于预先计算并保存表连接或聚集等耗时较多的操作的结果,这样,在执行查询时,就可以避免进行这些耗时的操作,而从快速的得到结果。
Oracle物化视图有很多方面和索引很相似:使用物化视图的目的是为了提高查询性能;物化视图对应用透明,增加和删除物化视图不会影响应用程序中SQL语句的正确性和有效性;物化视图需要占用存储空间;当基表发生变化时,物化视图也应当刷新。
Oracle物化视图可以分为以下三种类型:包含聚集的物化视图;只包含连接的物化视图;嵌套物化视图。三种物化视图的快速刷新的限制条件有很大区别,而对于其他方面则区别不大。创建物化视图时可以指定多种选项,下面对几种主要的选择进行简单说明:
创建方式(Build Methods):包括BUILD IMMEDIATE和BUILD DEFERRED两种。BUILD IMMEDIATE是在创建物化视图的时候就生成数据,而BUILD DEFERRED则在创建时不生成数据,以后根据需要在生成数据。默认为BUILD IMMEDIATE。
查询重写(Query Rewrite):包括ENABLE QUERY REWRITE和DISABLE QUERY REWRITE两种。分别指出创建的物化视图是否支持查询重写。查询重写是指当对物化视图的基表进行查询时,Oracle会自动判断能否通过查询物化视图来得到结果,如果可以,则避免了聚集或连接操作,而直接从已经计算好的物化视图中读取数据。默认为DISABLE QUERY REWRITE。
刷新(Refresh):指当基表发生了DML操作后,物化视图何时采用哪种方式和基表进行同步。刷新的模式有两种:ON DEMAND和ON COMMIT。ON DEMAND指物化视图在用户需要的时候进行刷新,可以手工通过DBMS_MVIEW.REFRESH等方法来进行刷新,也可以通过JOB定时进行刷新。 ON COMMIT指出物化视图在对基表的DML操作提交的同时进行刷新。刷新的方法有四种:FAST、COMPLETE、FORCE和NEVE*。**ST刷新采用增量刷新,只刷新自上次刷新以后进行的修改。COMPLETE刷新对整个物化视图进行完全的刷新。如果选择FORCE方式,则Oracle在刷新时会去判断是否可以进行快速刷新,如果可以则采用FAST方式,否则采用COMPLETE的方式。NEVER指物化视图不进行任何刷新。默认值是FORCE ON DEMAND。
在建立物化视图的时候可以指定ORDER BY语句,使生成的数据按照一定的顺序进行保存。不过这个语句不会写入Oracle物化视图的定义中,而且对以后的刷新也无效。
物化视图创建:
CREATE MATERIALIZED VIEW MV_NAME [ON PREBUILT TABLE]
[TABLESPACE TABLESPACE_NAME]
[BUILD IMMEDIATE | DEFERRED]
[REFRESH [FAST | COMPLETE | FORCE]
[ON DEMAND | COMMIT]
[START WITH DATE]
[NEXT DATE]
[WITH PRIMARY KEY | ROWID]]
[ENABLE QUERY REWRITE | DISABLE QUERY REWRITE]
AS
SELECT CLAUSE ;
建立物化视图所需权限:
http://blog.itpub.net/post/468/50672
http://blog.itpub.net/post/468/50707
http://blog.itpub.net/post/468/50838
http://blog.itpub.net/post/468/51163
关于物化视图的快速刷新:
物化视图的快速刷新(一) http://yangtingkun.itpub.net/post/468/14245
物化视图的快速刷新(二) http://yangtingkun.itpub.net/post/468/16456
物化视图的快速刷新(三) http://yangtingkun.itpub.net/post/468/16496
包含不同表字段合并的快速刷新物化视图 http://yangtingkun.itpub.net/post/468/501293
定位导致物化视图无法快速刷新的原因 http://yangtingkun.itpub.net/post/468/13318
物化视图来自多个基表连接的时候:
不能够使用标准的join...on语法,而只能够使用将连接条件放在where里的方式
http://stackoverflow.com/questions/1312980/oracle-materialized-view-not-working-when-using-left-join
为基表建立的物化视图日志,只能是基于ROWID的,且FROM语句列表中所有基表的ROWID必须出现在SELECT语句的列表中。
创建测试例子见附件!
关于MLOG$_<table_name>:
You have noticed that your fast refreshes are becoming slower and slower and
less efficient as time goes on;Can an index be created on MLOG$ (SNAPSHOT LOG)?
http://xsb.itpub.net/post/419/50466
Can an index be created on MLOG$ (SNAPSHOT LOG)?
================================================
You have noticed that your fast refreshes are becoming slower and slower and
less efficient as time goes on. You want to add an index on the MLOG$ snapshot
log table to speed up the refreshes and to prevent a Full Table Scan on the
snapshot log.
First of all, the answer is NOT to add an index on the snapshot log table.
Oracle has to do a full table scan on the snapshot log so that it can read all
the rows that it needs to refresh for a particular snapshot. Besides, all SQL
statements generated by the refresh operation is hardcoded in the kernel.
What may be causing the performance degradation is that your snapshot log's
High Water Mark (HWM) may be wastefully high. The snapshot log table grows at
peak times, but never shrinks once the refresh is done. Therefore, during a
fast refresh of the snapshot, Oracle will read the snapshot log using full
table scan all the way to the HWM.
The answer to speeding up the performance of the snapshot refresh is to reset
the HWM. The only way to do this is to truncate the snapshot log or recreate
it.
Once your snapshot log is purged (meaning all snapshots have already refreshed
against that master table), then issue a truncate on it.
i.e. SQL> truncate table mlog$_EMP;
This will reset the HWM without affecting any of your snapshot's fast refreshes.
If you choose to RECREATE your snapshot log, you will have to follow up by
performing a COMPLETE refresh on all the affected snapshots.
关于RUPD$_<table_name>:
The mlogs$_<table_name> is the materialized view log created with the CREATE MATERIALIZED VIEW LOG command. Note that materialized view log tables using primary keys also have rupd$_ tables. The rupd$_ table supports updateable materialized views , which are only possible on log tables with primary keys.
http://www.dbasupport.com/forums/showthread.php?t=54919
http://www.dbasupport.com/forums/showthread.php?t=41349
怎样对连接多表的视图进行DML操作?
在Oracle系统里,如果一个视图是由一个基表的所有非空列(Not Null)组成,那么该视图是可以进行INSERT、DELETE和UPDATE操作的。
但是如果一个视图由多个基表进行连接(Join)而成,则该视图不允许进行INSERT、DELETE和UPDATE操作的。
引用
如,对联接视图来自不同基表的多个字段做update,会报:ORA-01776: 无法通过联接视图修改多个基表
而Oracle提供的替代触发器(Instead of Trigger)就是用于对连接视图进行Insert、Delete、Update操作的触发器。也就是说,通过编写替代触发器,可以对连接视图进行DML操作,从而实现对各基表数据的修改。
引用
Only INSTEAD OF triggers can be created on a view.
如欲在视图上创建before或after trigger,会报:
引用
ORA-25001: 无法在视图上创建此类型的触发器
INSTEAD OF triggers are valid only for views. You cannot specify an INSTEAD OF trigger on a table.
You can read both the :OLD and the :NEW value, but you cannot write either the :OLD or the :NEW value.
关于INSTEAD OF view :http://download.oracle.com/docs/cd/B12037_01/server.101/b10759/statements_7004.htm
例子:http://www.devx.com/tips/Tip/21433
create or replace trigger 名称 Instead Of Insert or update or delete on 视图 for each row Declare begin If Inserting Then Insert Into 基本表1 (t11,t12) Values (:New.f1,:New.f2); Insert Into 基本表2 (t11,t22) Values (:New.f1,:New.f3); elsif Updating Then Update 基本表1 set t11=:New.f1,t12=:New.f2 where t11=:New.f1; Update 基本表2 set t11=:New.f1,t22=:New.f3 where t11=:New.f1; elsif Deleting then Delete from 基本表1 where t11=:Old.f1; Delete from 基本表2 where t11=:Old.f1;
怎样在视图上建立触发器,在视图数据改动后,触发某一动作?
About MATERIALIZED VIEW:
http://download.oracle.com/docs/cd/B10500_01/server.920/a96567/repmview.htm#26164
http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/statements_6002.htm
http://www.databasejournal.com/features/oracle/article.php/2192071/Materialized-Views-in-Oracle.htm
http://blog.csdn.net/XIAOHUI_LIAO/archive/2007/08/27/1759990.aspx
About MATERIALIZED VIEW LOG:
http://download.oracle.com/docs/cd/B12037_01/server.101/b10759/statements_6003.htm#i2064649
物化视图:
http://yangtingkun.itpub.net/post/468/11356(这个博客有多篇关于物化视图的资料,搜索其"物化视图")
ITPUB知识索引贴——物化视图:
http://www.itpub.net/thread-1308625-2-1.html
引用
Oracle经过长时间的发展,很多用户都很了解Oracle物化视图了,这里我发表一下个人理解,和大家讨论讨论。Oracle物化视图提供了强大的功能,可以用于预先计算并保存表连接或聚集等耗时较多的操作的结果,这样,在执行查询时,就可以避免进行这些耗时的操作,而从快速的得到结果。
Oracle物化视图有很多方面和索引很相似:使用物化视图的目的是为了提高查询性能;物化视图对应用透明,增加和删除物化视图不会影响应用程序中SQL语句的正确性和有效性;物化视图需要占用存储空间;当基表发生变化时,物化视图也应当刷新。
Oracle物化视图可以分为以下三种类型:包含聚集的物化视图;只包含连接的物化视图;嵌套物化视图。三种物化视图的快速刷新的限制条件有很大区别,而对于其他方面则区别不大。创建物化视图时可以指定多种选项,下面对几种主要的选择进行简单说明:
创建方式(Build Methods):包括BUILD IMMEDIATE和BUILD DEFERRED两种。BUILD IMMEDIATE是在创建物化视图的时候就生成数据,而BUILD DEFERRED则在创建时不生成数据,以后根据需要在生成数据。默认为BUILD IMMEDIATE。
查询重写(Query Rewrite):包括ENABLE QUERY REWRITE和DISABLE QUERY REWRITE两种。分别指出创建的物化视图是否支持查询重写。查询重写是指当对物化视图的基表进行查询时,Oracle会自动判断能否通过查询物化视图来得到结果,如果可以,则避免了聚集或连接操作,而直接从已经计算好的物化视图中读取数据。默认为DISABLE QUERY REWRITE。
刷新(Refresh):指当基表发生了DML操作后,物化视图何时采用哪种方式和基表进行同步。刷新的模式有两种:ON DEMAND和ON COMMIT。ON DEMAND指物化视图在用户需要的时候进行刷新,可以手工通过DBMS_MVIEW.REFRESH等方法来进行刷新,也可以通过JOB定时进行刷新。 ON COMMIT指出物化视图在对基表的DML操作提交的同时进行刷新。刷新的方法有四种:FAST、COMPLETE、FORCE和NEVE*。**ST刷新采用增量刷新,只刷新自上次刷新以后进行的修改。COMPLETE刷新对整个物化视图进行完全的刷新。如果选择FORCE方式,则Oracle在刷新时会去判断是否可以进行快速刷新,如果可以则采用FAST方式,否则采用COMPLETE的方式。NEVER指物化视图不进行任何刷新。默认值是FORCE ON DEMAND。
在建立物化视图的时候可以指定ORDER BY语句,使生成的数据按照一定的顺序进行保存。不过这个语句不会写入Oracle物化视图的定义中,而且对以后的刷新也无效。
物化视图创建:
引用
CREATE MATERIALIZED VIEW MV_NAME [ON PREBUILT TABLE]
[TABLESPACE TABLESPACE_NAME]
[BUILD IMMEDIATE | DEFERRED]
[REFRESH [FAST | COMPLETE | FORCE]
[ON DEMAND | COMMIT]
[START WITH DATE]
[NEXT DATE]
[WITH PRIMARY KEY | ROWID]]
[ENABLE QUERY REWRITE | DISABLE QUERY REWRITE]
AS
SELECT CLAUSE ;
建立物化视图所需权限:
http://blog.itpub.net/post/468/50672
http://blog.itpub.net/post/468/50707
http://blog.itpub.net/post/468/50838
http://blog.itpub.net/post/468/51163
关于物化视图的快速刷新:
物化视图的快速刷新(一) http://yangtingkun.itpub.net/post/468/14245
物化视图的快速刷新(二) http://yangtingkun.itpub.net/post/468/16456
物化视图的快速刷新(三) http://yangtingkun.itpub.net/post/468/16496
包含不同表字段合并的快速刷新物化视图 http://yangtingkun.itpub.net/post/468/501293
定位导致物化视图无法快速刷新的原因 http://yangtingkun.itpub.net/post/468/13318
物化视图来自多个基表连接的时候:
不能够使用标准的join...on语法,而只能够使用将连接条件放在where里的方式
http://stackoverflow.com/questions/1312980/oracle-materialized-view-not-working-when-using-left-join
为基表建立的物化视图日志,只能是基于ROWID的,且FROM语句列表中所有基表的ROWID必须出现在SELECT语句的列表中。
创建测试例子见附件!
关于MLOG$_<table_name>:
You have noticed that your fast refreshes are becoming slower and slower and
less efficient as time goes on;Can an index be created on MLOG$ (SNAPSHOT LOG)?
http://xsb.itpub.net/post/419/50466
引用
Can an index be created on MLOG$ (SNAPSHOT LOG)?
================================================
You have noticed that your fast refreshes are becoming slower and slower and
less efficient as time goes on. You want to add an index on the MLOG$ snapshot
log table to speed up the refreshes and to prevent a Full Table Scan on the
snapshot log.
First of all, the answer is NOT to add an index on the snapshot log table.
Oracle has to do a full table scan on the snapshot log so that it can read all
the rows that it needs to refresh for a particular snapshot. Besides, all SQL
statements generated by the refresh operation is hardcoded in the kernel.
What may be causing the performance degradation is that your snapshot log's
High Water Mark (HWM) may be wastefully high. The snapshot log table grows at
peak times, but never shrinks once the refresh is done. Therefore, during a
fast refresh of the snapshot, Oracle will read the snapshot log using full
table scan all the way to the HWM.
The answer to speeding up the performance of the snapshot refresh is to reset
the HWM. The only way to do this is to truncate the snapshot log or recreate
it.
Once your snapshot log is purged (meaning all snapshots have already refreshed
against that master table), then issue a truncate on it.
i.e. SQL> truncate table mlog$_EMP;
This will reset the HWM without affecting any of your snapshot's fast refreshes.
If you choose to RECREATE your snapshot log, you will have to follow up by
performing a COMPLETE refresh on all the affected snapshots.
关于RUPD$_<table_name>:
The mlogs$_<table_name> is the materialized view log created with the CREATE MATERIALIZED VIEW LOG command. Note that materialized view log tables using primary keys also have rupd$_ tables. The rupd$_ table supports updateable materialized views , which are only possible on log tables with primary keys.
http://www.dbasupport.com/forums/showthread.php?t=54919
http://www.dbasupport.com/forums/showthread.php?t=41349
- oracle__materialized__view.rar (5.4 KB)
- 下载次数: 14
发表评论
-
Oracle: minus | in | exists
2012-09-05 13:49 1461解释及例子: MINUS Query: http://www. ... -
一个奇怪的Oracle sql问题
2011-01-13 16:13 1359select A.M,B.N from Table1 A ... -
Oracle Analytic Functions:RANK, DENSE_RANK, FIRST and LAST;PARTITION BY
2010-12-13 17:02 1314Oracle/PLSQL: Rank Function: ht ... -
Oracle Analytic Functions:RANK, DENSE_RANK, FIRST and LAST
2010-12-13 17:02 1258Oracle/PLSQL: Rank Function: ht ... -
Oracle:Collections Records Type %TYPE %ROWTYPE
2010-11-09 22:27 1264PL/SQL Collections and Records: ... -
Oracle Cursor 游标
2010-11-09 20:44 3041Oracle中Cursor介绍: http://www.ite ... -
Oracle 锁机制
2010-09-19 20:12 3721Oracle多粒度封锁机制研究: http://www.itp ... -
Oracle Data Dictionary 数据字典
2010-09-19 16:44 1533Oracle数据字典查阅: http://download.o ... -
Oracle Sign Function
2010-09-17 14:52 1461Oracle/PLSQL: Sign Function: ht ... -
Oracle Built-In Functions: Next_Day and Last_Day
2010-09-16 17:09 1533next_day(date,char): 它用来返回从第一个 ... -
Oracle Procedure 存储过程
2010-09-16 08:36 1357Oracle/PLSQL: Creating Procedur ... -
Oracle Exception Handle 异常处理
2010-09-15 13:00 2084Handling PL/SQL Errors: http:// ... -
Oracle 性能工具 : Explain plan、Autotrace、Tkprof
2010-09-14 18:07 2226Oracle: 三个内置的性能工具包 Explain plan ... -
关于Oracle数据和对象的导入导出 [转]
2010-09-14 10:25 1262关于Oracle数据和对象的导入导出 [转]: http:// ... -
Oracle jobs(DBMS_JOB and DBMS_SCHEDULER)
2010-07-21 14:14 7795写PL/SQL procedure的时候,一定要写的够健壮、够 ... -
Oracle 各种注释
2010-07-20 14:19 3642为SQL语句添加注释: http://do ... -
Oracle 监听 本地Net服务名 配置
2010-07-20 10:32 1322Oracle数据库配置: http://shupili1410 ... -
[Oracle]Difference between a database and an instance(数据库 实例 区别)
2010-07-20 09:31 1496Difference between a database a ... -
Oracle Bulk Collect
2010-07-16 10:03 1370On BULK COLLECT: http://www.ora ... -
Oracle/PLSQL: FOR Loop 循环语句
2010-07-15 16:43 9343Oracle/PLSQL: FOR Loop: http:// ...
相关推荐
Oracle数据库的物化视图日志(Materialized View Log)是解决这一问题的有效手段。物化视图本身是数据库中的一个对象,它存储了某个查询结果集,这个结果集通常是远程数据的本地副本,或者是对多个数据表进行聚合...
在Oracle数据库中,物化视图(Materialized View)是一种非常有用的数据对象,它提供了对查询结果的预先计算和存储,以提高数据检索速度。物化视图与普通的视图不同,视图是基于基表的逻辑表示,而物化视图则是物理...
对于物化视图,使用`CREATE MATERIALIZED VIEW`命令定义视图并设定刷新策略(定时或即时)。触发器则是在源表上创建,当源表有数据变更时,触发器会自动更新目标数据库。 3. **配置网络服务**:确保两个Oracle实例...
29. 什么是 Oracle 的 Materialized View Logs(物化视图日志)?有何作用? 解答:物化视图日志是用于跟踪源表更改的特殊日志,当物化视图需要刷新时,它提供了必要的信息以确定哪些行已被修改。物化视图日志是...
- **架构二:** ARMS的主文件模块仅作为系统1的Master,系统1再作为其他所有系统的Master Materialized View。 #### 三、高级复制概述 Oracle的高级复制是一种内置的数据同步技术,特别适用于多主环境和可更新的...
- **4.2.2 物化视图日志**:创建物化视图的日志。 - **4.2.3 修改实物视图**:使用 ALTER MATERIALIZED VIEW 语句修改实物视图。 - **4.2.4 修改实物视图日志**:使用 ALTER MATERIALIZED VIEW LOG 语句修改实物视图...
Advanced Replication包含了多主复制(Multimaster Replication)和物化视图复制(Materialized View Replication)。多主复制允许在多个数据库之间进行双向数据同步,内部基于触发器(internal trigger)和高级队列...
12. **物化视图和 materialized view logs**:对于定期查询的数据,物化视图可以预先计算结果并存储,提高查询效率;materialized view logs用于同步物化视图的数据。 以上只是Oracle知识体系的一部分,实际的学习...
Advanced Replication中的物化视图复制依赖于Materialized View Logs,提供了一定延迟的数据同步,而多主复制则依赖内部触发器和高级队列。Data Guard主要用于数据安全和故障切换,逻辑备用库还支持实时报表服务。 ...
15. **Oracle的高级特性**:如分区表、物化视图、Materialized View Log、物化视图刷新策略等。 通过这份课件,学员可以系统地学习Oracle数据库的使用和开发,掌握在VC6.0环境下与Oracle交互的技术,为实际项目开发...
13. **物化视图与 materialized view logs**:物化视图用于预先计算和存储查询结果,提高查询效率;materialized view logs则用于物化视图的刷新。 14. **分区技术**:表和索引的分区可提高大型数据集的管理和查询...
14. **物化视图与 materialized view logs**:物化视图用于快速访问预计算的结果,而materialized view logs则是为了同步物化视图与源表的数据。 15. **索引管理**:理解不同类型的索引,如B树索引、位图索引、函数...
6. **性能优化**:通过索引、分区(Partitioning)、物化视图(Materialized View)、统计信息收集和SQL调优等手段,提升Oracle数据库的性能。优化顾问(SQL Tuning Advisor)和性能监控工具如AWR(Automatic ...
CREATE MATERIALIZED VIEW viewname [REFRESH [FAST|COMPLETE|FORCE]] [ON DEMAND|COMMIT] [START WITH date] [NEXT date] [WITH {PRIMARY KEY|ROWID}] AS subquery; ``` 6. **手动刷新物化视图**: - ...
`CREATE MATERIALIZED VIEW`创建物化视图,可设置刷新策略。 13. **存储过程和函数** 存储过程是预编译的PL/SQL代码块,而函数返回值。它们可以提高性能,减少网络流量,并封装复杂操作。 以上只是Oracle 10g语法...
10. **讲义Lesson11.pdf**:可能是对Oracle数据库的高级特性进行讲解,比如物化视图、 materialized view logs、物化查询表,以及在大数据环境下的Oracle集成。 通过这个Oracle培训课程,学习者将能够全面理解...
5. **Materialized View Logs**:物化视图日志是创建物化视图的必要组件,记录对源表的更改,以同步物化视图的数据。 通过这些训练题,你可以全面了解Oracle 10g的各个方面,包括基础概念、高级特性、管理和优化...
5. materialized view:物化视图,预先计算好的视图,提供快速查询。 四、SQL优化 1. 使用索引:对频繁查询的列创建索引,减少查询时间。 2. 避免全表扫描:尽量使用索引,避免对整个表进行扫描。 3. 适当使用JOIN...
2. 物化视图(Materialized View):预先计算并存储的查询结果,提供快速的数据访问。 3. 子查询(Subquery):嵌套在其他SQL语句中的查询,用于比较、过滤或计算。 4. 游标(Cursor):处理单条记录,常用于循环...