Oracle 数据库优化的R方法(Method R)

简介:
好长时间没怎么看 Oracle 技术文档了,今天阅读了一篇 Oracle Response Time Optimization with Method R. 这是 Optimizing Oracle Performance 经典图书这本经典图书的主旨方法。R 代表响应时间(response time).具体的定义如下:
    1. Target the tasks that are critical to the business. 
    2. Collect properly scoped, un-aggregated profile data for each task while the task is exhibiting the behavior you want to record. 
    3. React with the candidate repair that will have the greatest net payoff to the business. 
    a. Stop if the cost of the repair exceeds the cost of the problem.     
    这里面的核心元素是 Profile .Profile 要提供应用程序到最终用户的响应时间的详细描述.体现到Oracle 数据库这一层,就是要得到扩展的 SQL Trace 数据。是不是感觉有些"虚", R 方法和一些我们已知的数据库优化方法颇一些相似之处,但是 Cary Millsap 宣称 R 方法是目前已知 Oracle 优化方法中的最优秀的、最全面的。我们来看看一些简单比较:
     R方法 vs OWI 方法
    OWI(Oracle wait interface)只是R方法中的一个基本元素. R 方法是适用更广的(比如应用层)诊断指导策略(参见:How to Make an Application Easy to Diagnose);
     R方法 vs YAPP
    说来有趣, YAPP(Yet Another Performance Profiling Method) 方法的过程如下:
    得到服务时间和等待时间及其组成部分 
    将所有组成部分排序 
    依次优化每个部分 
    对表中的每一项,减少每次执行的代价或执行次数 
    我们看看笛卡尔的方法论:
    永远不接受任何我自己不清楚的真理,就是说要尽量避免鲁莽和偏见,只能是根据自己的判断非常清楚和确定,没有任何值得怀疑的地方的真理。
    可以将要研究的复杂问题,尽量分解为多个比较简单的小问题,一个一个地分开解决。将这些小问题从简单到复杂排列,先从容易解决的问题着手。将所有问题解决后,再综合起来检验,看是否完全,是否将问题彻底解决了。 这是笛卡尔的方法论,内容引自不可以随便访问的维基百科.
    YAPP 其实不过是笛卡尔方法论的一个体现形式而已.YAPP 只适用于 Oracle 层,对于 Web 应用层等则无能为力; R 方法适用的范围更广(其实是 YAPP 的进化版本); YAPP 也搞不定 Oracle 的 idle events .
     R 方法 vs 瓶颈分析(bottleneck analysis)
    瓶颈分析则首先要找到瓶颈, R 方法是以目标任务为导向的, 着眼于业务. 直接抓最关心的角度.虽然现在应用还不够广泛,但 R方法(Method R)是一种在理论上比较完美的方法.其中的产生思想值得我们深思.









本文转自 牛海彬 51CTO博客,原文链接:http://blog.51cto.com/newhappy/136950,如需转载请自行联系原作者
目录
相关文章
|
8天前
|
SQL Oracle 关系型数据库
【Oracle】玩转Oracle数据库(一):装上去,飞起来!
【Oracle】玩转Oracle数据库(一):装上去,飞起来!
48 7
|
16天前
|
存储 关系型数据库 MySQL
轻松入门MySQL:数据库设计之范式规范,优化企业管理系统效率(21)
轻松入门MySQL:数据库设计之范式规范,优化企业管理系统效率(21)
|
26天前
|
Oracle 关系型数据库 数据库
Oracle数据库基本概念理解(3)
Oracle数据库基本概念理解(3)
18 2
|
8天前
|
SQL Oracle 关系型数据库
【Oracle】玩转Oracle数据库(七):RMAN恢复管理器
【Oracle】玩转Oracle数据库(七):RMAN恢复管理器
35 5
|
16天前
|
存储 关系型数据库 MySQL
MySQL数据库性能大揭秘:表设计优化的高效策略(优化数据类型、增加冗余字段、拆分表以及使用非空约束)
MySQL数据库性能大揭秘:表设计优化的高效策略(优化数据类型、增加冗余字段、拆分表以及使用非空约束)
|
26天前
|
Oracle 关系型数据库 数据库
Oracle数据库基本概念理解(2)
Oracle数据库基本概念理解(2)
13 1
|
3天前
|
SQL 缓存 Java
Java数据库连接池:优化数据库访问性能
【4月更文挑战第16天】本文探讨了Java数据库连接池的重要性和优势,它能减少延迟、提高效率并增强系统的可伸缩性和稳定性。通过选择如Apache DBCP、C3P0或HikariCP等连接池技术,并进行正确配置和集成,开发者可以优化数据库访问性能。此外,批处理、缓存、索引优化和SQL调整也是提升性能的有效手段。掌握数据库连接池的使用是优化Java企业级应用的关键。
|
5天前
|
SQL 关系型数据库 数据库
【后端面经】【数据库与MySQL】SQL优化:如何发现SQL中的问题?
【4月更文挑战第12天】数据库优化涉及硬件升级、操作系统调整、服务器/引擎优化和SQL优化。SQL优化目标是减少磁盘IO和内存/CPU消耗。`EXPLAIN`命令用于检查SQL执行计划,关注`type`、`possible_keys`、`key`、`rows`和`filtered`字段。设计索引时考虑外键、频繁出现在`where`、`order by`和关联查询中的列,以及区分度高的列。大数据表改结构需谨慎,可能需要停机、低峰期变更或新建表。面试中应准备SQL优化案例,如覆盖索引、优化`order by`、`count`和索引提示。优化分页查询时避免大偏移量,可利用上一批的最大ID进行限制。
32 3
|
8天前
|
存储 SQL Oracle
【Oracle】玩转Oracle数据库(二):体系结构、存储结构与各类参数
【Oracle】玩转Oracle数据库(二):体系结构、存储结构与各类参数
32 7
|
17天前
|
缓存 监控 数据库
优化数据库查询性能的八大技巧
在今天的互联网时代,数据库是许多应用程序的核心组件之一。优化数据库查询性能是提升应用程序整体性能的关键。本文介绍了八种有效的技巧,帮助开发人员提高数据库查询性能,从而提升应用程序的响应速度和用户体验。