??xml version="1.0" encoding="utf-8" standalone="yes"?>国产日韩精品在线看,亚洲精品伊人,亚洲a区在线视频http://www.aygfsteel.com/lzj520/category/32357.htmlzh-cnThu, 19 Jun 2008 13:55:12 GMTThu, 19 Jun 2008 13:55:12 GMT60oracle 体系 & hints的用法ȝQ{Q?/title><link>http://www.aygfsteel.com/lzj520/archive/2008/06/19/209248.html</link><dc:creator>lzj520</dc:creator><author>lzj520</author><pubDate>Thu, 19 Jun 2008 12:27:00 GMT</pubDate><guid>http://www.aygfsteel.com/lzj520/archive/2008/06/19/209248.html</guid><wfw:comment>http://www.aygfsteel.com/lzj520/comments/209248.html</wfw:comment><comments>http://www.aygfsteel.com/lzj520/archive/2008/06/19/209248.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/lzj520/comments/commentRss/209248.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/lzj520/services/trackbacks/209248.html</trackback:ping><description><![CDATA[oracle的体p?<br /> <br /> oracle的体pd庞大Q要学习它,首先要了解oracle的框架。在q里Q简要的讲一下oracle的架构,让初学者对oracle有一个整体的认识?<br /> <br /> 1、物理结构(由控制文件、数据文件、重做日志文件、参数文件、归档文件、密码文件组成) <br /> <br /> 控制文gQ包含维护和验证数据库完整性的必要信息、例如,控制文g用于识别数据文g和重做日志文Ӟ一个数据库臛_需要一个控制文?<br /> <br /> 数据文gQ存储数据的文g <br /> <br /> 重做日志文gQ含Ҏ据库所做的更改记录Q这样万一出现故障可以启用数据恢复。一个数据库臛_需要两个重做日志文?<br /> <br /> 参数文gQ定义Oracle 例程的特性,例如它包含调整SGA 中一些内存结构大的参数 <br /> <br /> 归档文gQ是重做日志文g的脱机副本,q些副本可能对于从介质失败中q行恢复很必要?<br /> <br /> 密码文gQ认证哪些用h权限启动和关闭Oracle例程 <br /> <br /> 2、逻辑l构Q表I间、段、区、块Q?<br /> <br /> 表空_是数据库中的基本逻辑l构Q一pd数据文g的集合?<br /> <br /> D:是对象在数据库中占用的空?<br /> <br /> 区:是ؓ数据一ơ性预留的一个较大的存储I间 <br /> <br /> 块:ORACLE最基本的存储单位,在徏立数据库的时候指?<br /> <br /> 3、内存分配(SGA和PGAQ?<br /> <br /> SGAQ是用于存储数据库信息的内存区,该信息ؓ数据库进E所׃n。它包含Oracle 服务器的数据和控制信? 它是在Oracle 服务器所ȝ的计机的实际内存中得以分配Q如果实际内存不够再往虚拟内存中写?<br /> <br /> PGAQ包含单个服务器q程或单个后台进E的数据和控制信息,与几个进E共享的SGA 正相反PGA 是只被一个进E用的区域QPGA 在创E时分配在终止进E时回收 <br /> <br /> 4、后台进E(数据写进E、日志写q程、系l监控、进E监控、检查点q程、归档进E、服务进E、用戯E) <br /> <br /> 数据写进E:负责更改的数据从数据库~冲区高速缓存写入数据文?<br /> <br /> 日志写进E:重做日志缓冲区中的更改写入在线重做日志文g <br /> <br /> pȝ监控Q检查数据库的一致性如有必要还会在数据库打开时启动数据库的恢?<br /> <br /> q程监控Q负责在一个Oracle q程p|时清理资?<br /> <br /> 查点q程Q负责在每当~冲区高速缓存中的更Ҏ久地记录在数据库中时,更新控制文g和数据文件中的数据库状态信息?<br /> <br /> 归档q程Q在每次日志切换时把已满的日志组q行备䆾或归?<br /> <br /> 服务q程Q用戯E服务?<br /> <br /> 用户q程Q在客户端,负责用LSQL 语句传递给服务q程Qƈ从服务器D|回查询数据?<br /> <br /> 5、oracle例程QOracle 例程由SGA 内存l构和用于管理数据库的后台进E组成。例E一ơ只能打开和用一个数据库?<br /> <br /> 6、SCN(System Change Number)Q系l改变号Q一个由pȝ内部l护的序列号。当pȝ需要更新的时候自动增加,他是pȝ中维持数据的一致性和序恢复的重要标志?<br /> <br /> 四、深入学?<br /> <br /> 理Q可以考OCP证书Q对oracle先有一个系l的学习Q然后看Oracle Concepts、oracle online document,对oracle的原理会有更深入的了解,同时可以开始进行一些专题的研究如:RMAN、RAS、STATSPACT?DATAGUARD、TUNING、BACKUP&RECOVER{等?<br /> <br /> 开发:对于惛_Oracle开发的Q在了解?Oracle基本的体pȝ构之后,可以重点xPL/SQL及Oracle的开发工兯一部分?PL/SQL主要是包括怎么写SQL语句Q怎么使用Oracle本n的函敎ͼ怎么写存储过E、存储函数、触发器{?Oracle的开发工具主要就是Oracle自己的Developer SuiteQOracle Forms Developer and Reports Developerq些Q,学会如何熟练使用q些工具?br /> <br /> hints的用?br /> <br /> 1. /*+ALL_ROWS*/ <br /> 表明对语句块选择Z开销的优化方?q获得最佛_吐量,使资源消耗最化. <br /> 例如: <br /> SELECT /*+ALL+_ROWS*/ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO='SCOTT'; <br /> <br /> 2. /*+FIRST_ROWS*/ <br /> 表明对语句块选择Z开销的优化方?q获得最佛_应时?使资源消耗最化. <br /> 例如: <br /> SELECT /*+FIRST_ROWS*/ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO='SCOTT'; <br /> <br /> 3. /*+CHOOSE*/ <br /> 表明如果数据字典中有讉K表的l计信息,基于开销的优化方?q获得最佳的吞吐?如果数据字典中没有访问表的统计信?基于规则开销的优化方? <br /> 例如: <br /> SELECT /*+CHOOSE*/ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO='SCOTT'; <br /> <br /> 4. /*+RULE*/ <br /> 表明对语句块选择Z规则的优化方? <br /> 例如: <br /> SELECT /*+ RULE */ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO='SCOTT'; <br /> <br /> 5. /*+FULL(TABLE)*/ <br /> 表明对表选择全局扫描的方? <br /> 例如: <br /> SELECT /*+FULL(A)*/ EMP_NO,EMP_NAM FROM BSEMPMS A WHERE EMP_NO='SCOTT'; <br /> <br /> 6. /*+ROWID(TABLE)*/ <br /> 提示明确表明Ҏ定表ҎROWIDq行讉K. <br /> 例如: <br /> SELECT /*+ROWID(BSEMPMS)*/ * FROM BSEMPMS WHERE ROWID>='AAAAAAAAAAAAAA' <br /> AND EMP_NO='SCOTT'; <br /> <br /> 7. /*+CLUSTER(TABLE)*/ <br /> 提示明确表明Ҏ定表选择扫描的讉KҎ,它只对簇对象有效. <br /> 例如: <br /> SELECT /*+CLUSTER */ BSEMPMS.EMP_NO,DPT_NO FROM BSEMPMS,BSDPTMS <br /> WHERE DPT_NO='TEC304' AND BSEMPMS.DPT_NO=BSDPTMS.DPT_NO; <br /> <br /> 8. /*+INDEX(TABLE INDEX_NAME)*/ <br /> 表明对表选择索引的扫描方? <br /> 例如: <br /> SELECT /*+INDEX(BSEMPMS SEX_INDEX) USE SEX_INDEX BECAUSE THERE ARE FEWMALE BSEMPMS */ FROM BSEMPMS WHERE SEX='M'; <br /> <br /> 9. /*+INDEX_ASC(TABLE INDEX_NAME)*/ <br /> 表明对表选择索引升序的扫描方? <br /> 例如: <br /> SELECT /*+INDEX_ASC(BSEMPMS PK_BSEMPMS) */ FROM BSEMPMS WHERE DPT_NO='SCOTT'; <br /> <br /> 10. /*+INDEX_COMBINE*/ <br /> 为指定表选择位图讉K路经,如果INDEX_COMBINE中没有提供作为参数的索引,选择Z囄引的布尔l合方式. <br /> 例如: <br /> SELECT /*+INDEX_COMBINE(BSEMPMS SAL_BMI HIREDATE_BMI)*/ * FROM BSEMPMS <br /> WHERE SAL<5000000 AND HIREDATE <br /> <br /> 11. /*+INDEX_JOIN(TABLE INDEX_NAME)*/ <br /> 提示明确命o优化器用烦引作问\? <br /> 例如: <br /> SELECT /*+INDEX_JOIN(BSEMPMS SAL_HMI HIREDATE_BMI)*/ SAL,HIREDATE <br /> FROM BSEMPMS WHERE SAL<60000; <br /> <br /> 12. /*+INDEX_DESC(TABLE INDEX_NAME)*/ <br /> 表明对表选择索引降序的扫描方? <br /> 例如: <br /> SELECT /*+INDEX_DESC(BSEMPMS PK_BSEMPMS) */ FROM BSEMPMS WHERE DPT_NO='SCOTT'; <br /> <br /> 13. /*+INDEX_FFS(TABLE INDEX_NAME)*/ <br /> Ҏ定的表执行快速全索引扫描,而不是全表扫描的办法. <br /> 例如: <br /> SELECT /*+INDEX_FFS(BSEMPMS IN_EMPNAM)*/ * FROM BSEMPMS WHERE DPT_NO='TEC305'; <br /> <br /> 14. /*+ADD_EQUAL TABLE INDEX_NAM1,INDEX_NAM2,...*/ <br /> 提示明确q行执行规划的选择,几个单列烦引的扫描合v? <br /> 例如: <br /> SELECT /*+INDEX_FFS(BSEMPMS IN_DPTNO,IN_EMPNO,IN_SEX)*/ * FROM BSEMPMS WHERE EMP_NO='SCOTT' AND DPT_NO='TDC306'; <br /> <br /> 15. /*+USE_CONCAT*/ <br /> Ҏ询中的WHERE后面的OR条gq行转换为UNION ALL的组合查? <br /> 例如: <br /> SELECT /*+USE_CONCAT*/ * FROM BSEMPMS WHERE DPT_NO='TDC506' AND SEX='M'; <br /> <br /> 16. /*+NO_EXPAND*/ <br /> 对于WHERE后面的OR 或者IN-LIST的查询语?NO_EXPAND阻止其Z优化器对其进行扩? <br /> 例如: <br /> SELECT /*+NO_EXPAND*/ * FROM BSEMPMS WHERE DPT_NO='TDC506' AND SEX='M'; <br /> <br /> 17. /*+NOWRITE*/ <br /> 止Ҏ询块的查询重写操? <br /> <br /> 18. /*+REWRITE*/ <br /> 可以视图作为参? <br /> <br /> 19. /*+MERGE(TABLE)*/ <br /> 能够对视囄各个查询q行相应的合q? <br /> 例如: <br /> SELECT /*+MERGE(V) */ A.EMP_NO,A.EMP_NAM,B.DPT_NO FROM BSEMPMS A (SELET DPT_NO <br /> ,AVG(SAL) AS AVG_SAL FROM BSEMPMS B GROUP BY DPT_NO) V WHERE A.DPT_NO=V.DPT_NO <br /> AND A.SAL>V.AVG_SAL; <br /> <br /> 20. /*+NO_MERGE(TABLE)*/ <br /> 对于有可合ƈ的视图不再合q? <br /> 例如: <br /> SELECT /*+NO_MERGE(V) */ A.EMP_NO,A.EMP_NAM,B.DPT_NO FROM BSEMPMS A (SELECT DPT_NO,AVG(SAL) AS AVG_SAL FROM BSEMPMS B GROUP BY DPT_NO) V WHERE A.DPT_NO=V.DPT_NO AND A.SAL>V.AVG_SAL; <br /> <br /> 21. /*+ORDERED*/ <br /> Ҏ表出现在FROM中的序,ORDERED使ORACLE依此序对其q接. <br /> 例如: <br /> SELECT /*+ORDERED*/ A.COL1,B.COL2,C.COL3 FROM TABLE1 A,TABLE2 B,TABLE3 C WHERE A.COL1=B.COL1 AND B.COL1=C.COL1; <br /> <br /> 22. /*+USE_NL(TABLE)*/ <br /> 指定表与嵌套的q接的行源进行连?q把指定表作为内部表. <br /> 例如: <br /> SELECT /*+ORDERED USE_NL(BSEMPMS)*/ BSDPTMS.DPT_NO,BSEMPMS.EMP_NO,BSEMPMS.EMP_NAM FROM BSEMPMS,BSDPTMS WHERE BSEMPMS.DPT_NO=BSDPTMS.DPT_NO; <br /> <br /> 23. /*+USE_MERGE(TABLE)*/ <br /> 指定的表与其他行源通过合ƈ排序q接方式q接h. <br /> 例如: <br /> SELECT /*+USE_MERGE(BSEMPMS,BSDPTMS)*/ * FROM BSEMPMS,BSDPTMS WHERE BSEMPMS.DPT_NO=BSDPTMS.DPT_NO; <br /> <br /> 24. /*+USE_HASH(TABLE)*/ <br /> 指定的表与其他行源通过哈希q接方式q接h. <br /> 例如: <br /> SELECT /*+USE_HASH(BSEMPMS,BSDPTMS)*/ * FROM BSEMPMS,BSDPTMS WHERE BSEMPMS.DPT_NO=BSDPTMS.DPT_NO; <br /> <br /> 25. /*+DRIVING_SITE(TABLE)*/ <br /> 强制与ORACLE所选择的位|不同的表进行查询执? <br /> 例如: <br /> SELECT /*+DRIVING_SITE(DEPT)*/ * FROM BSEMPMS,DEPT@BSDPTMS WHERE BSEMPMS.DPT_NO=DEPT.DPT_NO; <br /> <br /> 26. /*+LEADING(TABLE)*/ <br /> 指定的表作接次序中的首? <br /> <br /> 27. /*+CACHE(TABLE)*/ <br /> 当进行全表扫描时,CACHE提示能够表的检索块攄在缓冲区~存中最q最列表LRU的最q用端 <br /> 例如: <br /> SELECT /*+FULL(BSEMPMS) CAHE(BSEMPMS) */ EMP_NAM FROM BSEMPMS; <br /> <br /> 28. /*+NOCACHE(TABLE)*/ <br /> 当进行全表扫描时,CACHE提示能够表的检索块攄在缓冲区~存中最q最列表LRU的最q用端 <br /> 例如: <br /> SELECT /*+FULL(BSEMPMS) NOCAHE(BSEMPMS) */ EMP_NAM FROM BSEMPMS; <br /> <br /> 29. /*+APPEND*/ <br /> 直接插入到表的最?可以提高速度. <br /> 例如: <br /> insert /*+append*/ into test1 select * from test4 ; <br /> <br /> 30. /*+NOAPPEND*/ <br /> 通过在插入语句生存期内停止ƈ行模式来启动常规插入. <br /> 例如: <br /> insert /*+noappend*/ into test1 select * from test4 ; <img src ="http://www.aygfsteel.com/lzj520/aggbug/209248.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/lzj520/" target="_blank">lzj520</a> 2008-06-19 20:27 <a href="http://www.aygfsteel.com/lzj520/archive/2008/06/19/209248.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> վ֩ģ壺 <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ī񹤿</a>| <a href="http://" target="_blank">Դ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">绯</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">˫</a>| <a href="http://" target="_blank">̫</a>| <a href="http://" target="_blank">ӳ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">촨</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ɽ</a>| <a href="http://" target="_blank">̨</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ؼ</a>| <a href="http://" target="_blank">ɽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">᯹</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">˷</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ɽʡ</a>| <a href="http://" target="_blank">ɽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">¬</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>