- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(优化器oracletuning
优化器:oracle中优化器(Optimizer)是sql分析和执行的优化工具,它负责制订sql的执行计划。
Oracle SQL tuning 步骤
sqloracle优化table数据库reference
SQL是的全称是Structured Query Language(结构化查询语言)。SQL是一个在80年代中期被使用的工业标准数据库查询语言。不要把SQL语言与商业化产品如Microsoft SQL server或开源产品MySQL相混淆。所有的使用SQL缩略词的这些都是SQL标准的一部分。一、SQL tuning之前的调整 下面这个粗略的方法能够节省数千小时乏味的SQL tuning,因为一旦调整它将影响数以百计的SQL查询。记住,你必须优先调整它,否则后续的优化器参数改变或统计信息可能不会有助于你的SQL调整。
记住,你应当总是优先考虑系统级别的SQL tuning,否则在SQL tuning之后再进行调整可能会使得你先前调整的SQL功亏一篑。1、优化系统内核 首先应当考虑调整磁盘和网络I/O子系统(象RAID,DASD带宽,网络等)去最小化I/O时间,网络包的大小以及调度频率。2、调整优化器统计信息 应当定期收集和存储优化器的统计信息以便优化器根据数据的分布生成最佳的执行计划。此外,直方图有助于优化表的连接以及为有倾斜的 where 子句谓词信息做出正确的访问决定。3、调整优化器参数 下列优化器参数应当被调整 optimizer_mode, optimizer_index_caching, optimizer_index_cost_adj4、优化实例 下列实例/会话级别参数将影响SQL性能 db_block_size,db_cache_size, and OS parameters (db_file_multiblock_read_count, cpu_count, c),5、使用索引或物化视图调整SQL访问负载 Oracle 10g之后可以使用SQL Access advisor来为SQL生成索引或物化视图的建议。应当总是使用索引来优化SQL,特别是基于函数的索引。 Oracle 11g的改进: Oracle 11g中新增的SQL Performance Analyzer (SPA)是一个从整体上加快SQL调整的新特性。 通过SPA,一旦创建一个负载(称为SQL tuning set,或者STS),Oracle将根据不同环境情况,使用复杂的预测模块重复的执行工作负载(使 用回归测试方法),来得到当前负载的最佳SQL执行计划。使用SPA,我们可以预测一个SQL负载基于系统变化造成的影响,以及预测象参数 调整,系统schema调整,硬件调整,操作调整,Oracle升级之后当前SQL语句的响应时间。更多详细的细节请参考:Oracle 11g New Feature 当运行环境,Oracle实例以及对象被调整之后,更多地关注则是数据库中的性能影响最大的单个单个的SQL语句。下面将针对单个SQL调整给 出一些常规建议以提高 Oracle 性能。二、Oracle SQL tuning的目标 Oracle SQL tuning是一个复杂的课题。Oracle Tuning: The Definitive Reference 这整本书描述了关于SQL tuning的细节。尽管如此, 为了提高系统系能,Oracle DBA应当遵从下面一些总的指导原则。1、SQL tuning 目标 是以最小的数据库访问次数提取更多地数据行来生成最佳的执行计划(尽可能最小化物理读(PIO)与逻辑读(LIO)。 指导原则 移除不必要的大型全表扫描 大型表的全表扫描将产生庞大的系统I/O且使得整个数据库性能下降。优化专家首先会评估当前SQL查询所返回的行数。最常见的办法是为走全表扫描的大表增加索引。B树索引,位图索引,以及基于函数的索引等能够避免全表扫描。有时候,对一些不必要的全表扫描通过添加提示的方法来避免全表扫描。 缓存小表全表扫描 有时候全表扫描是最快的访问方式,管理员应当确保专用的数据缓冲区(keep buffer cache,nk buffer cache)对这些表可用。在Oracle 8 以后小表可以被强制缓存到 keep 池。 使用最佳索引 Oracle 访问对象有时候会有一个以上的索引选择。因此应当检查当前查询对象上的每一个索引以确保Oracle使用了最佳索引。 物
文档评论(0)