热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

浅谈Oracle性能优化

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

基于大型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语句的查询逻辑和算法。有一个比较很效的原则是:先过滤小的结果集,然后通过这个小的结果集和其他表做关联。

 

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

   

 

posted on 2016-01-12 20:48 技术狂-老胡 阅读(...) 评论(...) 编辑 收藏

转:https://www.cnblogs.com/QYHYY/p/5125576.html



推荐阅读
author-avatar
mobiledu2502855653
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有