专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »数据库 » oracle数据库优化:Oracle数据库及应用程序优化开发者网络Oracle »正文

oracle数据库优化:Oracle数据库及应用程序优化开发者网络Oracle

来源: 发布时间:星期二, 2008年12月23日 浏览:2次 评论:0
正在看ORACLE教程是:Oracle数据库及应用优化开发者网络Oracle介绍:细处着手巧处用功高手和菜鸟的间差别就是:高手什么都知道菜鸟知道电脑小窍门技巧收集最新奇招高招让你轻松踏上高手的路
  摘 要:本文对ORACLE数据库及ORACLE应用优化进行了全面分析和研究并提出了自己些建议
  关 键 词:ORACLE优化数据库SQL
  1.引言
  随着信息化时代到来人们开始广泛地使用数据库技术对大量而复杂信息进行科学高效管理在数据库领域中各种应用软件Software大量涌现有Visual FoxproPower Builder等等但其中ORACLE是这个领域中最优秀也是最流行大型数据库应用软件Software本文就在ORACAL中如何优化数据库及其应用进行了研究
  2.优化数据库
  2.1 优化设置控制文件个数位置及其备份
建议CONTROL_FILE化参数中指定多个文件应大于2并将控制文件镜像到区别位置并要把这些控制文件备份到安全磁盘中
  2.2优化设计表空间数据文件大小及位置
  2.2.1设计表空间
  尽量把同时间对磁盘读写操作分散开如对个表中数据进行更新时数据库将同时去读该表中数据和该表上索引信息如果把表数据信息和索引信息都放在同个数据文件中则数据库速度将会变慢最好是把数据信息和索引信息分别放在区别磁盘两个数据文件中此时数据库对磁盘读写操作将分散在两个磁盘上速度将得到显著提高因此在设计数据库表空间和数据文件时首先给表和表索引分别创建两个表空间(存放用户数据数据表空间和存放表索引索引表空间)另外还根据该系统数据量大小及系统中数据性质区别再考虑创建几个数据表空间或者给数据表空间添加几个数据文件
  2.2.2设计数据文件大小
  把记录大小相当表放在同个表空间中这时个表空间存储参数设置可以保证表中记录都放在个范围中避免了条记录跨范围存放可以明显数据库性能
  2.2.3设计数据文件位置
  为了避免磁盘I/O操作冲突应把数据文件创建在区别位置




[NextPage]

2.3优化设计重演日志文件
  2.3.1 重演日志文件大小
  由于数据库在利用重演日志文件时是循环使用它们而且当LGWR进程在两个日志文件切换时将自动产生个检测点所以重演日志文件大小会直接影响到检测点出现频率而由于在数据库检测点时对用户而言数据库速度会受影响所以检测点出现频率大或者检测点正好出现在数据库处理数据高峰期将会极大影响数据库性能因此重演日志文件大小设计应考虑检测点出现频率以及检测点应避开数据库处理数据高峰期
  2.3.2 重演日志文件组个数
  在ARCHIVELOG模式下时适当增加重演日志文件组个数可以降低数据库存档日志文件频率
  2.3.3 重演日志文件存档
  应把重演日志文件存档的处设置在磁盘读写更快物理设备上这样可以减少日志文件存档时间
  2.4 回滚段优化设计
  2.4.1 回滚段数目设计
  要考虑数据库需要支持并发事务数目每个回滚段有其所能支持最大事务数如果回滚段数目不够多则有些新事务被迫要等待将影响数据库性能
  2.4.2 回滚段大小设计
  要考虑该回滚段能容纳数据库可能最大事务回滚项数
  2.5 优化数据库使用内存配置
  要调整数据库高速缓冲区共享池、重演日志缓冲区和进程全局区大小平衡问题
  3.优化应用
  3.1 采取统SQL
  ORACLE在执行SQL文时首先将当前要执行SQL文和公共区域中保存先前执行过SQL文进行比较SQL文相同时就会跳过当前要执行SQL文解析处理这样通过减少解析次数就加快SQL文执行速度
  3.2 选取合适SQL代码
  在进行数据库操作时结果可以用很多思路方法来实现我们应当选取合适SQL代码使其更容易明了并且运行速度更快
  3.3 明确列名
  使用SELECT取得列名定要明确指定并且应当使抽出记录要尽量少用SORT等场合ORACLE将必要值放到WORK领域因此减少列数也就节约了I/O回数
  3.4 注意结合索引顺序
  由于列顺序区别而导致索引作用效果区别例如:(AGEADDRESS)顺序结合索引
WHERE AGE=28 AND ADDRESS='BEI JING' &结合索引有效
WHERE AGE=28 &结合索引有效
WHERE ADDRESS='BEI JING' &结全索引无效
  3.5 注意WHERE使用
  3.5.1 索引列不要使用
  由于索引列旦使用了索引就会变无效因此在能用索引情况下尽量改变来利用索引如:
WHERE SUBSTR(TELNO22)='88'改为WHERE TELNO LIKE '88%'较好
  3.5.2 索引列不要使用NOT
  由于索引列旦使用不等于索引就会变得无效最后导致速度变慢
  3.5.3 不要用NULL
  如果用了NULL索引就会无效变成全表检索影响处理速度
  3.5.4 不要对索引列进行计算
  如果对索引列进行计算索引就会无效也后导致速度变慢
  4.结束语
  本文所提出优化思路方法能够起到提高ORACLE数据库性能以及提高ORACLE应用执行效率作用这仅是个人在实际工作中经验整理总结希望能够对广大同行起到定帮助作用







相关文章

读者评论

  • 共0条 分0页

发表评论

  • 昵称:
  • 内容: