欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Oracle性能分析与优化讲座笔记

程序员文章站 2022-05-24 12:38:54
...

一、何时考虑性能的问题。 考虑性能的问题应该贯穿于整个系统建设的各个阶段中:系统设计、数据库设计、代码开发、系统运

  一、何时考虑性能的问题。

  考虑性能的问题应该贯穿于整个系统建设的各个阶段中:系统设计、数据库设计、代码开发、系统运维。

  1.系统设计阶段:

  系统架构方面:二层、三层、多层

  系统类型:OLAP——生成报表等,主要考虑海量数据的处理速度

  相关阅读:Oracle根据外键名查关联的表

  OLTP——主要考虑内存(cache)、并发、并行等

  系统生命周期中系统能力的估算:并发数、查询的响应时间等。负面例子:2008北京奥运会订票系统崩溃。

  2.数据库设计阶段,,着重考虑数据库对象的类型和属性:

  分区。

  索引及其类型(OLTP,一般用B-Tree;OLAP,一般考虑用Bitmap或Text索引)。

  并行。

  其它的一些对象属性(ASSM、并发属性)。

  内存相关参数。

  并发相关参数。

  I/O相关参数。

  数据库架构(单节点、RAC、分布式)。

  硬件性能(CPU、内存等)。

  3.高效的SQL与变量绑定(OLTP)

  误区:不恰当的使用Hint:强制使用索引、强制设定驱动表、强制优化器模式

  4.对象类型:属性、参数的修改

  二、DBA应该参与到系统建设的各个阶段中,开发人员应尽可能地考虑性能问题。

  三、优化的内容:

  1.参数:OLTP:内存:SGA、PGA

  并行:PROCESSES、SESSIONS

  2.对象属性:分区、并行

  3.索引类型:B-Tree、Bitmap、Text

  4.高效的SQL

  5.SQL执行计划

  6.对表进行分析:直方图,DBMS_STATS包

  四、优化工具

  1.SQL_Trace

  2.10046事件

  3.性能视图,如:V$SQL、V$SESSION、V$LOCK、V$SESSION_LONGOPS

  4.10053事件,将显示Oracle执行计划中的所有详细操作

  5.优化工具:Hint—— 优化器模式

  访问路径

  表连接顺序

  并发方式

  Statspack(AWR)报告、ASH报告

Oracle性能分析与优化讲座笔记