ETMS-SQL语法与优化详解.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
所谓执行计划,就是对一个DML SQL做出一份怎样去完成任务的执行路径。基于不同的优化方式,执行计划可能有很大的差异。 * 所谓执行计划,就是对一个DML SQL做出一份怎样去完成任务的执行路径。基于不同的优化方式,执行计划可能有很大的差异。 * 所谓执行计划,就是对一个DML SQL做出一份怎样去完成任务的执行路径。基于不同的优化方式,执行计划可能有很大的差异。 * 描述如何从数据库中检索数据 * 描述如何从数据库中检索数据 * 描述如何从数据库中检索数据 * 描述如何从数据库中检索数据 * SELECT MBB.ID,MBD.ID,MBP.ID FROM ETMSDEV01.MB_BUDGET MBB, ETMSDEV01.MB_BUDGET_PROJECT MBP, ETMSDEV01.MB_BUDGETDETAIL MBD WHERE MBB.ID = MBD.ID_PSD_BUDGET AND MBD.ID_SPD_BUDGET_PROJECT = MBP.ID AND MBP.ID = 1460342282810 select * from user_indexes where table_name=MB_BUDGET_PROJECT‘; Create index PK_MB_BUDGETDETAIL on mb_budgetdetail(PK_MB_BUDGET_PROJECT); drop index PK_MB_BUDGETDETAIL; * Oracle sql 语法与调优 执行计划 基本SQL 子查询 多表查询 执行计划-应用优化的重要性 执行计划-SQL解释过程 1、语法分析 分析语句语法是否规范,衡量语句中各表达式的意义 2、语义分析 检查语句中涉及的所有数据库对象是否存在,及用户权限 3、视图转换 将涉及视图的查询语句转换成相应的对基表的查询语句 4、表达式转换 将复杂的SQL表达式转换成较简单的等效连接表达式 5、选择优化器 不同的优化器产生不同的执行计划 6、连接方式选择 对多表的连接 ORACLE可选择适当的连接方式 7、选择连接顺序 对多表连接 ORACLE选择那一对表先链接,选择这两表中那一对表做为驱动表 8、选择搜索路径 根据以上条件选择合适的搜索路径,如:是选全表,还是索引,还是其它。 9、产生“执行计划”并执行 执行计划-概念 所谓执行计划,就是对一个DML SQL做出一份怎样去完成任务的执行路径。基于不同的优化方式,执行计划可能有很大的差异。 执行计划-什么是执行计划 执行计划-RBO和CBO Oracle的优化规则,主要有 (RBO, RULE-Based Optimizer基于内在规则) (CBO, Cost-Based Optimizer 基于成本) 执行计划-RBO Single row by ROWID Single row by cluster join Single row by hash cluster key with unique key Single row by unique index Cluster join Hash cluster key Indexed cluster key Composite key Single-column non-unique index Bounded range search on indexed columns Unbounded range search on indexed columns Sort-merge join MAX or MIN of indexed column ORDER BY on indexed columns Full table-scan 效率由高到低 执行计划-CBO 成本 指执行SQL语句导致的实际资源消耗;或者表示优化器对执行语句所用时间的最优估计。 成本优化策略演化 传统的:仅仅计算读取请求的数目 系统统计(1):说明读取的大小和时间 系统统计(2):说明CPU成本以及读取请求的大小和时间 系统统计(3): 说明缓存、CPU成本以及读取请求的大小和时间 执行计划-访问路径 表扫描:读取一个表中所有行,当需要读取表中大部分的行时全表扫描很有效,当只读取表中的一小部分数据时,需要创建索引来消除全表扫描 1).全表扫描(Full Table Scans, FTS) 2).通过ROWID的表存取(Table Access by ROWID ) 索引扫描:一个查询包含关键值和ROWID。如果查询只需要

文档评论(0)

ee88870 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档