关于Oracle数据库优化的几点总结

个人理解,数据库性能最关键的因素在于IO,因为操作内存是快速的,但是读写磁盘是速度很慢的,优化数据库最关键的问题在于减少磁盘的IO,就个 人理解应该分为物理的和逻辑的优化, 物理的是指oracle产品本身的一些优化,逻辑优化是指应用程序级别的优化物理优化的一些原则:  

       1)Oracle的运行环境(网络,硬件等)

  2)使用合适的优化器
  3)合理配置oracle实例参数
  4)建立合适的索引(减少IO)
  5)将索引数据和表数据分开在不同的表空间上(降低IO冲突)
  6)建立表分区,将数据分别存储在不同的分区上(以空间换取时间,减少IO)
  逻辑上优化:
  1)可以对表进行逻辑分割,如中国移动用户表,可以根据手机尾数分成10个表,这样对性能会有一定的作用
  2)Sql语句使用占位符语句,并且开发时候必须按照规定编写sql语句(如全部大写,全部小写等)oracle解析语句后会放置到共享池中, 如:
  select * from Emp where name=?这个语句只会在共享池中有一条,而如果是字符串的话,那就根据不同名字存在不同的语句,所以占位符效率较好
  3)数据库不仅仅是一个存储数据的地方,同样是一个编程的地方,一些耗时的操作,可以通过存储过程等在用户较少的情况下执行,从而错开系统使用的高峰时间,提高数据库性能
  4)尽量不使用*号,如select * from Emp,因为要转化为具体的列名是要查数据字典, 比较耗时
  5)选择有效的表名
  对于多表连接查询,可能oracle的优化器并不会优化到这个程度, oracle 中多表查询是根据FROM字句从右到左的数据进行的,那么最好右边的表(也就是基础表)选 择数据较少的表,这样排序更快速,如果有link表(多对多中间表),那么将link表放最右边作为基础表,在默认情况下oracle会自动优化,但是如 果配置了优化器的情况下,可能不会自动优化,所以平时最好能按照这个方式编写sql
  6)Where字句规则:
  Oracle 中Where字句时从右往左处理的,表之间的连接写在其他条件之前,能过滤掉非常多的数据的条件,放在where的末尾, 另外!=符号比较的列将不使用索引,列经过了计算(如变大写等)不会使用索引(需要建立起函数), is null、is not null等优化器不会使用索引
  7)使用Exits Not Exits 替代 In Not in
  8)合理使用事务,合理设置事务隔离性,数据库的数据操作比较消耗数据库资源的,尽量使用批量处理,以降低事务操作次数
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Oracle数据库优化是指通过各种手段调整数据库的性能,使其能够更好地满足应用程序的需求,缩短响应时间,提高数据处理能力,以提高系统的整体性能。Oracle数据库优化主要包括以下几方面: 一、设计优化 设计优化Oracle数据库优化的第一步,它包括对数据库的表结构、索引设计等方面的优化。能够使用正确的数据类型、正确的数据长度以及正确的可空性等,都能够提高数据库的性能和稳定性。而正确地选择索引类型,合理的设置和使用索引也是Oracle数据库优化中必不可少的一步。 二、SQL优化 SQL优化Oracle数据库优化的重点,因为它会直接影响到数据库的性能。SQL优化需要从多个方面入手,比如查询语句中的连接方式、查询条件的写法、表格的连接度以及数据的过滤等。 三、数据存储优化 数据存储优化是在Oracle数据库中创建表空间、数据文件、日志文件等存储区域,并对这些存储区域进行优化,从而达到提高数据库存储性能、减少数据损失的效果。 四、参数优化 参数优化是针对Oracle数据库的各种参数进行调整,从而使系统更加适合不同的应用场景。不同的应用场景需要不同的参数设置,通过参数优化,可以提高Oracle数据库的性能和稳定性。 总之,Oracle数据库优化不是单一的优化点,而是一个包含诸多优化技术和方向的综合过程,需要开发人员结合具体实现需求,深入挖掘优化内容才能达到最佳优化效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值