基于大型Oracle数据库应用开发已有6个年头了,经历了从最初零数据演变到目前上亿级的数据存储。在这个经历中,遇到各种各样的性能问题及各种性能优化。

在这里主要给大家分享一下数据库性能优化的一些方法和见解。

1、服务器要求及配置

服务器处理器性能很关键,CPU的主频要高,要有较大的内存,IO读写速度块。

如何验证一台服务器的IO读写效率如何了,可以通过IOPS这个指标来衡量。普及一下IOPS的定义:IOPS (Input/Output Operations Per Second),即每秒进行读写(I/O)操作的次数,多用于数据库等场合,衡量随机访问的性能。目前SSD硬盘的IOPS基本是万级别。但相对的成本也是比较高的。

在Oracle数据使用场景中,可以实现如下语句来查看当前服务器的IOPS:

 declare
       max_iops_out pls_integer ;
       max_mbps_out pls_integer ;
       actual_latency_out pls_integer ;
    begin
       dbms_resource_manager.calibrate_io(
          max_iops=>max_iops_out,
          max_mbps=>max_mbps_out,
          actual_latency=>actual_latency_out);

dbms_output.put_line('max_iops = ' || max_iops_out
                          || ',max_mbps = ' || max_mbps_out
                          || ',actual_latency = ' || actual_latency_out);
   end

2、Oracle系统级的优化

这里主要是针对ORACLE核心的优化,包括Oracle内存设置、文件大小、日志文件大小、回滚日志及各种系统级参数的设定。

那么如何发现目前的设置是否合理了,

A、在Oracle中提供一个性能分析报告AWR和ASH报告.可以通过命令来获取该份报告。里面涉及到各种指标值:内存设定是否合理、影响ORACLE慢的几大因素,数据文件读写速度等。

B、也可以通过ORALCE-EM中的性能模块,来检测每个时间节点ORALCE的运行情况,从中捕获那些耗资源的SQL语句,从而进行优化。

 3、Oracle SQL语句的优化

     数据库在百万级别,遇到的任何性能问题时,均可以通过SQL语句的优化。优化的层面有2种:

1、通过索引,这种优化的速度最快,而且见效也很明显。索引的合理使用我就不在这里叙述,网上很多。

2、通过更改SQL语句的查询逻辑和算法。有一个比较很效的原则是:先过滤小的结果集,然后通过这个小的结果集和其他表做关联。

在这里希望大家可以提提一些其他观点或不同看法。

浅谈Oracle 性能优化的更多相关文章

  1. 开发高性能的MongoDB应用—浅谈MongoDB性能优化(转)

    出处:http://www.cnblogs.com/mokafamily/p/4102829.html 性能与用户量 “如何能让软件拥有更高的性能?”,我想这是一个大部分开发者都思考过的问题.性能往往 ...

  2. 开发高性能的MongoDB应用—浅谈MongoDB性能优化

    关联文章索引: 大数据时代的数据存储,非关系型数据库MongoDB 性能与用户量 “如何能让软件拥有更高的性能?”,我想这是一个大部分开发者都思考过的问题.性能往往决定了一个软件的质量,如果你开发的是 ...

  3. 浅谈前端性能优化(二)——对HTTP传输进行压缩

    1.前端性能优化的一点: 对js.css.图片等进行压缩,尽可能减小文件的大小,减少文件下载的时间,从而减少网页响应的时间. 2.前端性能优化的另一点: 对HTTP传输进行压缩,即在js,css.图片 ...

  4. 浅谈前端性能优化(PC版)

    前端的性能优化是一个很宽泛的概念,最终目的都是为了提升用户体验,改善页面性能.面试的时候经常会遇到问谈谈性能优化的手段,这个我分几大部分来概述,具体细节需要自己再针对性的去搜索,只是提供一个索引(太多 ...

  5. AJPFX浅谈Java性能优化之finalize 函数

    ★finalize 函数的调用机制 俺经常啰嗦:“了解本质机制的重要性”.所以今天也得先谈谈 finalize 函数的调用机制.在聊之前,先声明一下:Java虚拟机规范,并没有硬性规定垃圾回收该不该搞 ...

  6. 浅谈vue性能优化

    基础优化 所谓的基础优化是任何 web 项目都要做的,并且是问题的根源.HTML,CSS,JS 是第一步要优化的点 分别对应到 .vue 文件内的,<template>,<style ...

  7. AJPFX浅谈Java 性能优化之字符串过滤实战

    ★一个简单的需求 首先描述一下需求:给定一个 String 对象,过滤掉除了数字(字符'0'到'9')以外的其它字符.要求时间开销尽可能小.过滤函数的原型如下: String filter(Strin ...

  8. AJPFX浅谈Java 性能优化之垃圾回收(GC)

    ★JVM 的内存空间 在 Java 虚拟机规范中,提及了如下几种类型的内存空间: ◇栈内存(Stack):每个线程私有的.◇堆内存(Heap):所有线程公用的.◇方法区(Method Area):有点 ...

  9. 【转载】我眼中的Oracle性能优化

    我眼中的Oracle性能优化 大家对于一个业务系统的运行关心有如下几个方面:功能性.稳定性.效率.安全性.而一个系统的性能有包含了网络性能.应用性能.中间件性能.数据库性能等等. 今天从数据库性能的角 ...

随机推荐

  1. hash_map vs unordered_map vs map vs unordered_set

    hash_map vs unordered_map 这两个的内部结构都是采用哈希表来实现.unordered_map在C++11的时候被引入标准库了,而hash_map没有,所以建议还是使用unord ...

  2. PHP之路,Day1 - PHP基础

    本节内容  1.PHP介绍  2.第一个PHP脚本程序  3.PHP语言标记  4.指令分割符  5.程序注释  6.在程序中使用空白符的处理  7.变量  8.变量的类型  9.数据类型之间相互转换 ...

  3. CKeditor3.6.2 配置与精简

    一.使用方法: 1.在页面<head>中引入ckeditor核心文件ckeditor.js <script type="text/javascript" src= ...

  4. DATE_FORMAT() 函数

    DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据DATE_FORMAT(now(),'%Y-%m-%d %T')

  5. linux 下httpd服务开机启动

    分类: 网站搭建2011-01-07 05:52 1164人阅读 评论(0) 收藏 举报 linuxapache 我的apache安装目录在 /usr/local/apache 有2种方法可以设置开机 ...

  6. C# 解压zip压缩文件

    此方法需要在程序内引用ICSharpCode.SharpZipLib.dll 类库 /// <summary> /// 功能:解压zip格式的文件. /// </summary> ...

  7. linq to sql 三层架构中使用CRUD操作

    /// <summary> /// 数据层 /// </summary> public partial class GasBottles : IGasBottles { #re ...

  8. rsync服务架设(数据同步|文件增量备份)

        近期由于业务需要,需要将两台服务器数据保持同步.方案有很多,rsync是其中一种解决方案,本文对rsync的安装及配置进行简单说明,其他实现方式有兴趣可以研究.以下是本文提纲,供参考: rsy ...

  9. 开始使用版本控制,局域网搭个SVN

    话说以前自己做的一些小项目,经常出现忘记保存.突然断电等令人抓狂的事情.后来想到的办法是备份,这备份又有一个进化的过程,最先是建一个文件夹,隔一段时间压缩一下放进去,但是这个命名实在是麻烦,后来傻乎乎 ...

  10. 【转】Linux下(C/C++)使用system()函数一定要谨慎

    转自:http://my.oschina.net/renhc/blog/53580   曾经的曾经,被system()函数折磨过,之所以这样,是因为对system()函数了解不够深入.只是简单的知道用 ...