Oracle的性能优化

来源:互联网 发布:win10看图软件 编辑:程序博客网 时间:2024/06/11 18:46

目前许多的应用中我们多用到了oracle数据库,作为一名程序员,我们不需要太精通数据库的优化,但是基本的技能我们还是要掌握的,下面我们就oracle的性能优化做出一个总结:

1.优化表的结构

   正常情况下我们设计出的表要满足3NF的要求,否则表中会有大量的冗余数据,这对我们以后的增删改非常的不利,加大了数据量,同时过分的追求3NF的设计原则,加大了我们查询过程中连接量,是造成系统性能低下的主要原因,因此我们需在实际应用做出决策,对于增删改多的表设计时要满足3范式的要求,而对于查询要求多的表可以允许存在一定数据冗余,提高查询性能

 

2.优化sql文

  查询是我们系统开发室用到比较多的一个操作,因此sql文的好坏直接影响系统的性能。

  对于oracle的sql文的优化,我们可以通过下列的方式获取性能低下的是sql文:

  我们可以通过查询sql_area表来确定性能低下的sql文,结合sql执行计划表对sql文进行优化

  通常我们的sql文需要满足下列的条件:

 1. 连接查询的时候,我们队表的顺序要有规定,通常以记录表少的为主表,或者中间表为主表

 2. 对于查询的字段,我们要在适当的字段建立适当的索引

 3.查询的语句尽量大写

 4.不要在查询的字段上进行计算

 5.用>=代替>

 6.用exists代替in

 7.分组查询的时候尽量在where语句后面对记录进行过滤

 8.全表删除是用truncat代替delete

 9.不要用*进行查询

 10.少用消耗资源的查询操作:having,union

 11.限定查询返回的记录数

3.对数据库中经常用到的数据进行缓存,比如80%的时间在使用20%的数据,此时我们就应该使用查询

4.对数据库进行读写分离或者集群,例如mysql的主从复制,oracle的RAC

5.对数据库进行分区或者分表

6.利用大数据处理数据库如Memcache,monogodb等等

 

总之,实际中的应用我们要具体情况具体分析,找出适合的解决方案

0 0
原创粉丝点击