主页 > 知识库 > 数据库 > Oracle >

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

来源:中国IT实验室 作者:佚名 发表于:2013-07-23 17:50  点击:
个人理解,数据库性能最关键的因素在于IO,因为操作内存是快速的,但是读写磁盘是速度很慢的,优化数据库最关键的问题在于减少磁盘的IO,就个 人理解应该分为物理的和逻辑的优化, 物理的是指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)
    0%
    没帮助
    (0)
    0%
  • 上一篇:基于Oracle的大数据导入方案探索
  • 下一篇:没有了
  • 迅维网 长沙市环境保护局 青岛职业技术学院生物与化工学院 第一修复网 连云港市物价局 天天模拟器官网 西安交大离退休工作处 长沙市政府首页 连云港工商行政管理局 华军软件园 伊犁哈萨克自治州邮政管理局 杂志铺 四川新闻网 巴音郭楞蒙古自治州邮政管理局 思诺花语护肤品 翡翠网 中国特岗教师网 福州最新招聘信息 郑州乐豪斯装饰官网 昌吉回族自治州邮政管理局 海尔学院 郑州大学研究生院 极速下载官方网站 Win7之家 上海宣传片制作公司 中国领先免费找企业管理培训讲师的机构 宜宾频道 安锋网 中国项目管理资源网 数学统计学院 中国生物器材网 色谱网 秘鲁玛卡批发报价门户网 514193兽药网 连云港社科网 连云港农业资源开发局 品牌招商加盟网! 长沙市外事侨务办公室 中国川剧官方网站 长沙市民族宗教事务局 食品机械行业网 山东地平线建筑节能科技有限公司 食品招商网 人才培养处 西安交通大学图书馆 长沙市经济和信息化委员会 连云港市人民政府外事与侨务办公室 连云港市规划局在线 长沙方志网 今朝装饰