oracle数据库性能优化方案精髓整理收集回想
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数据库性能优化方案精髓整理收集回想的更多相关文章
- 浅谈Oracle数据库性能优化的目标
Oracle性能优化保证了Oracle数据库的健壮性,为了保证Oracle数据库运行在最佳的性能状态下,在信息系统开发之前就应该考虑数据库的优化策略.从数据库性能优化的场景来区分,可以将性能优化分为如 ...
- Oracle数据库性能优化基础
1.数据处理分类OLTP,OLAP 2.Oracle特性 3.数据库优化方法论/原则 方法论:自顶向下优化和自底向上优化 3.1 自顶向下优化 3.2 自底向上优化 对于多年的老系统出现性能问题时,就 ...
- 数据库 Oracle数据库性能优化
--在Oacle数据库涉及到全表扫描的SQL查询(top,count)中, --现场用户删除表中大部分数据,只保留1W条数据,但是查询仍然很慢,检查磁盘IO,发现磁盘IO不是很高 --经过分析Oacl ...
- SqlServer数据库性能优化详解
数据库性能优化详解 性能调节的目的是通过将网络流通.磁盘 I/O 和 CPU 时间减到最小,使每个查询的响应时间最短并最大限度地提高整个数据库服务器的吞吐量.为达到此目的,需要了解应用程序的需求和数据 ...
- mysql数据库性能优化(包括SQL,表结构,索引,缓存)
优化目标减少 IO 次数IO永远是数据库最容易瓶颈的地方,这是由数据库的职责所决定的,大部分数据库操作中超过90%的时间都是 IO 操作所占用的,减少 IO 次数是 SQL 优化中需要第一优先考虑,当 ...
- Oracle SQL性能优化技巧大总结
http://wenku.baidu.com/link?url=liS0_3fAyX2uXF5MAEQxMOj3YIY4UCcQM4gPfPzHfFcHBXuJTE8rANrwu6GXwdzbmvdV ...
- 【SQL server初级】数据库性能优化一:数据库自身优化(大数据量)
数据库优化包含以下三部分,数据库自身的优化,数据库表优化,程序操作优化.此文为第一部分 数据库性能优化一:数据库自身优化 优化①:增加次数据文件,设置文件自动增长(粗略数据分区) 1.1:增加次数据文 ...
- MySQL数据库性能优化:表、索引、SQL等
一.MySQL 数据库性能优化之SQL优化 注:这篇文章是以 MySQL 为背景,很多内容同时适用于其他关系型数据库,需要有一些索引知识为基础 优化目标 减少 IO 次数IO永远是数据库最容易瓶颈的地 ...
- 数据库性能优化:SQL索引
SQL索引在数据库优化中占有一个非常大的比例, 一个好的索引的设计,可以让你的效率提高几十甚至几百倍,在这里将带你一步步揭开他的神秘面纱. 1.1 什么是索引? SQL索引有两种,聚集索引和非聚集索引 ...
随机推荐
- 简单的INSERT语句
INSERT INTO 语句用来向数据表中插入数据,比如执行下面的语句就可以向T_Person表中插入一条数据: INSERT INTO T_Person(FName,FAge,FRemark) VA ...
- 子域名/目录暴力工具Gobuster
子域名/目录暴力工具Gobuster Gobuster是Kali Linux默认安装的一款暴力扫描工具.它是使用Go语言编写的命令行工具,具备优异的执行效率和并发性能.该工具支持对子域名和Web目 ...
- [BZOJ 3152] 组合子逻辑
Link: BZOJ 3152 传送门 Solution: 喜闻乐见,gyz出的语文题,题意要看半小时 题意:使用最少的括号将序列分割,对于每个括号中的序列,设最左边的数为$num$,序列中元素个数为 ...
- [CodeChef-DGTCNT]Chef and Digits
题目大意: 若一个十进制数$x$(不含前导零)满足数码$i$恰好出现$t_i$次,则这个数是坏的,否则是好的.求区间$[L,R](1\le L,R\le10^{18})$中有多少好数. 思路: 显然可 ...
- @requestBody注解的使用(上)
1.@requestBody注解常用来处理content-type不是默认的application/x-www-form-urlcoded编码的内容,比如说:application/json或者是ap ...
- ReentrantReadWriteLock (读写锁)源码分析
关于AbstractQueuedSynchronizer中的独占锁,请参考ReentrantLock(http://www.cnblogs.com/bjorney/p/8040085.html) 1. ...
- Android之startActivityForResult
作用:当aAty跳转之bAty时,需要bAty回传数据,使用startActivityForResult. 相关的函数: aAty:--跳转至bAty(intent可以传递数据) void andro ...
- mac 安装PyQt5
PyQt5官方安装教程指出2种安装方法: Installing from Wheels Building and Installing from Source 网上搜罗的大多是按照第二种方法安装的,本 ...
- IE8 XSS Filter Bypass
漏洞说明:IE8是微软新推出的一款浏览器,其对CSS2.1的完整支持,HTML5的支持,内置开发工具等等.IE8在浏览器安全性上有非常大的改进,内置了一款无法卸载的Xss Filter,对非持久型跨站 ...
- 算法导论-散列表(Hash Table)-大量数据快速查找算法
目录 引言 直接寻址 散列寻址 散列函数 除法散列 乘法散列 全域散列 完全散列 碰撞处理方法 链表法 开放寻址法 线性探查 二次探查 双重散列 随机散列 再散列问题 完整源码(C++) 参考资料 内 ...