oracle数据库性能优化整体法则:

一、降低数据訪问(降低硬盘房訪问次数)

二、返回更少的数据(降低网络传输或磁盘訪问)

三、降低交互次数(降低网络传输)

四、降低server开销(降低cpu及内存开销)

五、利用很多其它的资源(添加资源)

===================详细说明=================

一、降低数据訪问(降低硬盘房訪问次数)

1、降低数据訪问

1.1.创建并使用正确的索引

索引会大大添加DML(增删改)的开销【合理的索引会大大提高效率100倍、1000倍,但不合理的索引甚至会降低性能100倍】

一个表中能够有多个索引,一个索引也能够由多个字段组成

会使用索引的情况:

index_column>?

index_column<?

index_column=?

index_column>=?

index_column<=?

index_columnbetween ? and ?

index_columnin (?,?...?)

index_columnlike ?||%'(后导模糊查询)

t1.index_column= t2.culunm2(两表通过索引字段关联)

不会使用索引的情况:

index_column<>?

index_columnnot in (?,?...?)

--------------不等于不会使用索引

function(index_column)=?

index_column+1=?

index_column||'aaa'=?

--------------经过普通运算或者函数运算的字段不会使用索引

index_columnis null

----------------索引不保存null值所以is null不会使用索引

index_column=‘12345’

index_column=12345

--------------oracle在进行数值比較时候会将左右两边转换成同样类型,相当于使用了函数。不会使用索引

a.index_column= a.column_!

--------给索引查询的值应该是已知的。未知的是不会使用索引的

常见的索引注意事项:

须要加索引的:

1、主键

2、外键

3、有对象或身份标识意义的字段

慎用索引的:

1、日期

2、年月

3、状态标识

4、区域

5、操作人员

6、数值

7、长字符

不适合用索引的

1、描写叙述备注字段

2、大字段

另外:

常常在一起使用的几个查询字段能够建立组合索引

如:select id,name from company where type='2';

假设常常使用这个能够在id,name,type上建立组合索引;

切记:性能优化无止境。

当达到要求后就要适可而止,切勿物极必反

二、更少的返回数据

1、数据分页处理(client分页、server分页、数据库分页)

2、仅仅返回须要的字段

三、降低交互次数(batch提交。增大fech_size、使用存储过程)

未完待续-------共同学习进步

oracle数据库性能优化方案精髓整理收集回想的更多相关文章

  1. 浅谈Oracle数据库性能优化的目标

    Oracle性能优化保证了Oracle数据库的健壮性,为了保证Oracle数据库运行在最佳的性能状态下,在信息系统开发之前就应该考虑数据库的优化策略.从数据库性能优化的场景来区分,可以将性能优化分为如 ...

  2. Oracle数据库性能优化基础

    1.数据处理分类OLTP,OLAP 2.Oracle特性 3.数据库优化方法论/原则 方法论:自顶向下优化和自底向上优化 3.1 自顶向下优化 3.2 自底向上优化 对于多年的老系统出现性能问题时,就 ...

  3. 数据库 Oracle数据库性能优化

    --在Oacle数据库涉及到全表扫描的SQL查询(top,count)中, --现场用户删除表中大部分数据,只保留1W条数据,但是查询仍然很慢,检查磁盘IO,发现磁盘IO不是很高 --经过分析Oacl ...

  4. SqlServer数据库性能优化详解

    数据库性能优化详解 性能调节的目的是通过将网络流通.磁盘 I/O 和 CPU 时间减到最小,使每个查询的响应时间最短并最大限度地提高整个数据库服务器的吞吐量.为达到此目的,需要了解应用程序的需求和数据 ...

  5. mysql数据库性能优化(包括SQL,表结构,索引,缓存)

    优化目标减少 IO 次数IO永远是数据库最容易瓶颈的地方,这是由数据库的职责所决定的,大部分数据库操作中超过90%的时间都是 IO 操作所占用的,减少 IO 次数是 SQL 优化中需要第一优先考虑,当 ...

  6. Oracle SQL性能优化技巧大总结

    http://wenku.baidu.com/link?url=liS0_3fAyX2uXF5MAEQxMOj3YIY4UCcQM4gPfPzHfFcHBXuJTE8rANrwu6GXwdzbmvdV ...

  7. 【SQL server初级】数据库性能优化一:数据库自身优化(大数据量)

    数据库优化包含以下三部分,数据库自身的优化,数据库表优化,程序操作优化.此文为第一部分 数据库性能优化一:数据库自身优化 优化①:增加次数据文件,设置文件自动增长(粗略数据分区) 1.1:增加次数据文 ...

  8. MySQL数据库性能优化:表、索引、SQL等

    一.MySQL 数据库性能优化之SQL优化 注:这篇文章是以 MySQL 为背景,很多内容同时适用于其他关系型数据库,需要有一些索引知识为基础 优化目标 减少 IO 次数IO永远是数据库最容易瓶颈的地 ...

  9. 数据库性能优化:SQL索引

    SQL索引在数据库优化中占有一个非常大的比例, 一个好的索引的设计,可以让你的效率提高几十甚至几百倍,在这里将带你一步步揭开他的神秘面纱. 1.1 什么是索引? SQL索引有两种,聚集索引和非聚集索引 ...

随机推荐

  1. sshkey改变后出错的解决

    错误态 ssh 192.168.111.200 出现如下错误 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING ...

  2. [Contest20180321]nonintersect

    $\dfrac 2\pi$是个引人注目的数字,先来看看它到底是什么东西 假如有一条直线,它和题目所给的某条长度为$d$的线段夹角为$\theta$,那么线段在直线上的投影长度为$\left|d\cos ...

  3. 【博弈论】【SG函数】poj2311 Cutting Game

    由于异或运算满足结合律,我们把当前状态的SG函数定义为 它所能切割成的所有纸片对的两两异或和之外的最小非负整数. #include<cstdio> #include<set> ...

  4. 【博弈论】poj2484 A Funny Game

    如果当前状态可以根据某条轴线把硬币分成两个相同的组,则当前状态是必败态. 因为不论在其中一组我们采取任何策略,对方都可以采取相同的策略,如此循环,对方必然抽走最后一枚硬币. 因为我们先手,因此抽完后盘 ...

  5. C#中函数库方式重复播放MP3音乐

    public void play() { this.TemStr = ""; this.TemStr = this.TemStr.PadLeft(0x7f, Convert.ToC ...

  6. Java高级架构师(一)第02节:分模块、分工程管理

    本节课程的目标在于:利用Maven构建分工程.分模块的空项目. -------- 基本的构建大致相同,有一个强调调点: 在总web的pom里边(architecture01web中),加入要合并的wa ...

  7. React Native之iOS App打包

    iOS打包步骤(一.二.三可不按照顺序) 步骤一: 选择iOS Device(以下两者选其中一个即可) 选择 Generic iOS Device (个人建议使用这个) 选择Generic iOS D ...

  8. iOS开发——检测屏幕旋转

    步骤一.注册通知 1: [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(statusBarOrien ...

  9. 使用openssl生成密钥、加密和签名

    openssl genrsa -out rsakey.pem 1024  //生成1024bit的RSA密钥,并保存到rsakey.pem,此处未对密钥进行加密 openssl genrsa -aes ...

  10. Nginx流量带宽请求状态统计(ngx_req_status)

    介绍           ngx_req_status 用来展示 nginx 请求状态信息,类似于 apache 的 status, nginx 自带的模块只能显示连接数等等 信息,我们并不能知道到底 ...