ORACLE性能优化思路总结,抛砖引玉
2015-10-26 11:04
357 查看
ORACLE性能优化思路总结:
一、索引
适用及原则:
表记录量在3000以上,记录小没有意义
建索引的列为关联比较频繁的列,比如志愿表的报名号,
建索引的列没有空值
建索引的列值基本固定不会修改,否则效率会打折扣,需要做定期重建索引
建了索引会影响对该表的新增和修改的效率,如果可能,生产阶段不建,查询阶段建
--示例:志愿主表索引,志愿完成后创建
create index IDX_RECRUIT_STUWISH_MAIN_2 on RECRUIT_STUWISH_MAIN (examid);
create index IDX_RECRUIT_STUWISH_MAIN_3 on RECRUIT_STUWISH_MAIN (code_student);
create index IDX_RECRUIT_STUWISH_MAIN_4 on RECRUIT_STUWISH_MAIN (signcode);
二、语句写法及程序实现
弄清表结构及关系,SQL少走弯路
外部程序能获取传入的不要再重复到数据库去查
外部程序少做重复劳动,能复用的利用,不是复用方法,是复用数据,一个流程内一个数据只查一次,减少与数据库的交互次数
外部程序使用缓存,减少与数据库的交互
如果可以,尽量利用应用服务器实现业务逻辑,减少数据库服务器的负担
三、根据业务规则减少数据量
物理减少:历史数据迁移
逻辑减少:将普通表改造成分区表,按规则分区,建分区索引
create table tablename
(
CODE_STUDENT VARCHAR2(20) not null,
EXAMID VARCHAR2(8) not null,
SIGNCODE VARCHAR2(20),
CODE_GRADE_EXAM VARCHAR2(2)
)
partition by list (EXAMID)
(
partition P1 values ('14420101', '14420102‘),
partition P2 values (‘14420201’, ‘14420202’),
partition P0 values (default)
);
四、运维层面优化
增强硬件配置,CPU、内存、存储(磁盘阵列,减少磁盘IO)
双机同步,读写分离
部署ORACLE集群,实现高可用,如RAC
一、索引
适用及原则:
表记录量在3000以上,记录小没有意义
建索引的列为关联比较频繁的列,比如志愿表的报名号,
建索引的列没有空值
建索引的列值基本固定不会修改,否则效率会打折扣,需要做定期重建索引
建了索引会影响对该表的新增和修改的效率,如果可能,生产阶段不建,查询阶段建
--示例:志愿主表索引,志愿完成后创建
create index IDX_RECRUIT_STUWISH_MAIN_2 on RECRUIT_STUWISH_MAIN (examid);
create index IDX_RECRUIT_STUWISH_MAIN_3 on RECRUIT_STUWISH_MAIN (code_student);
create index IDX_RECRUIT_STUWISH_MAIN_4 on RECRUIT_STUWISH_MAIN (signcode);
二、语句写法及程序实现
弄清表结构及关系,SQL少走弯路
外部程序能获取传入的不要再重复到数据库去查
外部程序少做重复劳动,能复用的利用,不是复用方法,是复用数据,一个流程内一个数据只查一次,减少与数据库的交互次数
外部程序使用缓存,减少与数据库的交互
如果可以,尽量利用应用服务器实现业务逻辑,减少数据库服务器的负担
三、根据业务规则减少数据量
物理减少:历史数据迁移
逻辑减少:将普通表改造成分区表,按规则分区,建分区索引
create table tablename
(
CODE_STUDENT VARCHAR2(20) not null,
EXAMID VARCHAR2(8) not null,
SIGNCODE VARCHAR2(20),
CODE_GRADE_EXAM VARCHAR2(2)
)
partition by list (EXAMID)
(
partition P1 values ('14420101', '14420102‘),
partition P2 values (‘14420201’, ‘14420202’),
partition P0 values (default)
);
四、运维层面优化
增强硬件配置,CPU、内存、存储(磁盘阵列,减少磁盘IO)
双机同步,读写分离
部署ORACLE集群,实现高可用,如RAC
相关文章推荐
- oracle 错误 ORA-01747
- oracle ho与mysql system命令
- OracleAWR删除历史快照说明
- 苏州Oracle社招面经
- Oracle Profile 使用详解--zhuanzai
- powerdesigner与oracle
- Oracle 实例恢复
- Oracle 备份恢复概念
- Oracle新建表
- oracle,PL/SQL新建表
- Oracle表分区
- oracle数据库自动备份脚本
- Oracle创建表
- ORACLE数据库异步IO介绍
- 通过JMS监听Oracle AQ,在数据库变化时触发执行Java程序
- Oracle建表
- oracle数据库使用Datagrid 数据列表的分页
- Oracle添加数据文件创建表空间,创建用户代码
- ORACLE建表练习
- oracle捕获异常和字符截取