Welcome 微信登录

首页 / 数据库 / MySQL / Oracle DBA做SQL优化的最佳思路

如何在 Oracle数据库里写出高质量的SQL语句,如何在Oracle数据库里对有性能问题的SQL做诊断和调整,这是DBA们在ORACLE数据库实践中不可避免的难题。下面就让我们来分析一下拿到一条问题sql后我们可以如何去开始我们的优化思路。对于有问题的SQL做SQL优化的具体步骤一般为:1、查看该SQL语句的执行计划,并结合其资源消耗情况和相关统计信息、Trace文件来分析其执行计划是否合理;2、通过修正措施(如调整该SQL的执行计划等)来对该SQL做调整以缩短其执行时间,Oracle数据库里SQL优化的终极目标就是要缩短目标SQL语句的执行时间。要达到上述目的,我们通常只有如下三种方法可以选择:1、降低目标SQL语句的资源消耗;2、并行执行目标SQL语句;3、平衡系统的资源消耗。方法1:降低目标SQL语句的资源消耗”以缩短执行时间,这是最常用的SQL优化方法。这种方法的核心是要么通过在不更改业务逻辑的情况下改写SQL来降低目标SQL语句的资源消耗,要么不改SQL但通过调整执行计划或相关表的数据来降低目标SQL语句的资源消耗。方法2:并行执行目标SQL语句”,这实际上是以额外的资源消耗来换取执行时间的缩短,很多情况下使用并行是针对某些SQL的唯一优化手段。方法3:平衡系统的资源消耗” 可以避免不必要的资源争用所导致的目标SQL语句执行时间的增长。对某些SQL而言,其执行时间的增长或者不稳定(时快时慢)不是由于其执行计划的问题,而是由于在目标SQL执行时系统处于高负荷状态,执行目标SQL所需要的硬件资源(CPU、内存、IO等)得不到保障,存在争用的情况。在这样的情况下,如果我们能平衡系统的资源消耗,把一些跟目标SQL同时执行的不重要但很消耗系统资源的操作(如报表、批处理等)挪到系统不忙的时候执行,比如把它们挪到晚上执行,那么就可以释放部分系统硬件资源以确保目标SQL执行时所需要的硬件资源不再存在争用的情况,进而就避免了其执行时间的增长或者不稳定。 在VS环境下以ADO方式操作Oracle数据库RHEL 6.4(i386)安装MySQL 5.6的方法相关资讯      Oracle DBA  Oracle优化 
  • Oracle 查询技巧与优化  (今 09:02)
  • Oracle数据库性能优化之内存磁盘  (09/19/2015 15:42:44)
  • Oracle热点表优化总结  (02/25/2015 09:39:32)
  • Oracle多表查询优化  (11/24/2015 12:02:59)
  • Oracle优化实战(绑定变量)  (06/16/2015 20:01:38)
  • Oracle 多表查询优化  (02/24/2015 20:46:48)
本文评论 查看全部评论 (0)
表情: 姓名: 字数


评论声