- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
                        查看更多
                        
                    
                ??? cursor_sharing=force:如果系统中的SQL包含嵌入的直接量,那么请设置这个参数??? query_rewrite_enabled=true:这个参数启用物化视图??? star_transformation_enabled=true:这个参数启用星型连接??? optimizer_features_enable=true:这个设置将启用初始化参数b_tree_bitmap_plex_view_merging,fast_full_scan_enabled和push_join_predicate * Oracle支持的一些有用的程序包  可以使用DBMS_SYSTEM程序包来得到其他用户会话的信息,然后通过这些信息来跟踪这些会话。  SCOTT用户的操作被跟踪 SYS用户执行 停止跟踪 开发测试过程中经常使用的一种方式:   exec DBMS_SESSION.SET_SQL_TRACE(TRUE); 跟踪当前会话,我们可以在开发调试过程中,在PLSQL中嵌入这么一行,就可以跟踪后面的PLSQL的执行计划输出。 未记录入档的TRACE操作的初始化参数 select ksppinm Parameter name,ksppstvl Value,ksppstdf Default from x$ksppi x,x$ksppcv y where x.indx=y.indx and ksppinm like /_%trace% escape / / ………………… 使用10046跟踪(这个功能扩展了SQL TRACE)  10046事件是Oracle提供的内部事件,是对SQL_TRACE的增强.10046事件可以设置以下四个级别: 1 - 启用标准的SQL_TRACE功能,等价于sql_trace4 - Level 1 加上绑定值(bind values)8 - Level 1 + 等待事件跟踪12 - Level 1 + Level 4 + Level 8 类似sql_trace,10046事件可以在全局设置,也可以在session级设置。对于4、8、12得到的信息,在TKPROF的时候会被忽略掉,因此需要直接查看trc文件。 使用存储纲要  前面讲了很多,主要目的就是为调整性能。协助我们判断ORACLE如何运行SQL语句。 存储纲要:首先对一个SQL语句的执行计划进行存储,然后在查询运行的任意时间内使用先前决定好的执行计划。  注意:Oracle并没有存储执行计划,而是存储了一些提示(这些提示可以让oracle以精确的方式进行查询)。  设置stored outline 首先要设置一些权限,然后才能存储和使用纲要。  数据库使用基于成本的优化器,一些具体的会话参数 select name,value from v$parameter where name in (query_rewrite_enabled,star_transformation_enabled,optimizer_features_enable, cursor_sharing) / 设置参数use_stored_outlines  为整个数据库使用存储框架,可以使用alter system set use_stored_outlines=true 还可以在会话层启用优化器计划稳定性alter session set use_stored_outlines=true命令   创建框架包 创建和修改存储框架 有两个查询,第一个查询没有hints,第二个查询有hints。根据数据库的特点,我们希望数据库能够使用第二个执行计划。 1、修改源代码,在所有的查询中使用hits 2、使用存储纲要 我们讲到的就是第二个方法 创建两个存储纲要 1、我们先给没有加提示的查询创建存储框架 2、再给加了提示的查询创建存储框架 交换存储框架 两个存储纲要的名字发生了转换。这样做了一个欺骗的动作。以后在使用纲要的时候,如果使用的是select count(*) from emp;那么数据库就使用new_emp 纲要(转换前使用old_emp)。SQL语句和纲要进行匹配的时候,使用的是类似于shared pool中的方法。因此我们以后不需要加上提示,就可以使用new_emp这个带提示的纲要了。 测试存储纲要 果然使用的是带提示的存储纲要。  从以上可以看到没有加提示的查询使用了加了提示的查询(从而实现了在不需要修改源代码的情况下更改查询的执行计划,进行优化.当然这里是为了演示,本来不加提示时的效率更高) 另起一个会话,还是会使用存储的存储纲要。因为我们设置了use_stored_outlines为true时采用的是system,这样整个系统里面所有的用户
                您可能关注的文档
最近下载
- 辽2002SJ802-2 厨房、卫生间垂直集中式排烟气系统.docx VIP
- 新闻摄影培训课件.pptx VIP
- 肾造瘘管相关知识.pptx
- 现场验收检查原始记录填写要求:(GB50300-2013附表及填写范例完整75组数据或描述).pdf VIP
- 2025年70岁以上老人考驾驶证三力测试题.pdf VIP
- 护理学基础各种注射法.pptx VIP
- 西游记中的乘法口诀(教学设计)-2024-2025学年二年级上册数学北师大版.docx VIP
- 护理事业十五五发展规划(2026-2030).docx
- 护理事业十五五(2026-2030)发展规划纲要.docx
- 青海省2025年中考语文真题试卷附同步解析答案.docx VIP
 原创力文档
原创力文档 
                        

文档评论(0)