热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

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

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

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

正在看的ORACLE教程是:Oracle数据库及应用程序优化开发者网络Oracle。

介绍:细处着手,巧处用功。高手和菜鸟之间的差别就是:高手什么都知道,菜鸟知道一些。电脑小技巧收集最新奇招高招,让你轻松踏上高手之路。

  摘 要:本文对ORACLE数据库及ORACLE应用程序的优化,进行了全面的分析与研究,并提出了自己的一些建议。

  关 键 词:ORACLE,优化,数据库,SQL

  1.引言

  随着信息化时代的到来,人们开始广泛地使用数据库技术对大量而复杂的信息进行科学高效的管理。在数据库领域中的各种应用软件大量涌现,有Visual Foxpro,Power Builder等等,但其中ORACLE是这个领域中最优秀也是最流行的大型数据库应用软件。本文就在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 注意结合索引的顺序

  由于列的顺序不同而导致索引的作用效果不同。例如:(AGE,ADDRESS)顺序的结合索引。

WHERE AGE=28 AND ADDRESS='BEI JING' &结合索引有效
WHERE AGE=28 &结合索引有效
WHERE ADDRESS='BEI JING' &结全索引无效

  3.5 注意WHERE的使用

  3.5.1 索引列不要使用函数

  由于索引列一旦使用了函数,索引就会变无效,因此在能用索引的情况下,尽量改变程序来利用索引。如:

WHERE SUBSTR(TELNO,2,2)='88'改为WHERE TELNO LIKE '88%'较好。

  3.5.2 索引列不要使用NOT

  由于索引列一旦使用不等于,索引就会变得无效,最后导致速度变慢。

  3.5.3 不要用NULL

  如果用了NULL,索引就会无效,变成全表检索,影响处理速度。

  3.5.4 不要对索引列进行计算

  如果对索引列进行计算,索引就会无效,也后导致速度变慢。

  4.结束语

  本文所提出的优化方法,能够起到提高ORACLE数据库性能以及提高ORACLE应用程序执行效率的作用。这仅是个人在实际工作中的经验总结,希望能够对广大同行起到一定帮助作用。

上一页

推荐阅读
  • 本文介绍了adg架构设置在企业数据治理中的应用。随着信息技术的发展,企业IT系统的快速发展使得数据成为企业业务增长的新动力,但同时也带来了数据冗余、数据难发现、效率低下、资源消耗等问题。本文讨论了企业面临的几类尖锐问题,并提出了解决方案,包括确保库表结构与系统测试版本一致、避免数据冗余、快速定位问题等。此外,本文还探讨了adg架构在大版本升级、上云服务和微服务治理方面的应用。通过本文的介绍,读者可以了解到adg架构设置的重要性及其在企业数据治理中的应用。 ... [详细]
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • Java String与StringBuffer的区别及其应用场景
    本文主要介绍了Java中String和StringBuffer的区别,String是不可变的,而StringBuffer是可变的。StringBuffer在进行字符串处理时不生成新的对象,内存使用上要优于String类。因此,在需要频繁对字符串进行修改的情况下,使用StringBuffer更加适合。同时,文章还介绍了String和StringBuffer的应用场景。 ... [详细]
  • MyBatis错题分析解析及注意事项
    本文对MyBatis的错题进行了分析和解析,同时介绍了使用MyBatis时需要注意的一些事项,如resultMap的使用、SqlSession和SqlSessionFactory的获取方式、动态SQL中的else元素和when元素的使用、resource属性和url属性的配置方式、typeAliases的使用方法等。同时还指出了在属性名与查询字段名不一致时需要使用resultMap进行结果映射,而不能使用resultType。 ... [详细]
  • 本文详细介绍了在ASP.NET中获取插入记录的ID的几种方法,包括使用SCOPE_IDENTITY()和IDENT_CURRENT()函数,以及通过ExecuteReader方法执行SQL语句获取ID的步骤。同时,还提供了使用这些方法的示例代码和注意事项。对于需要获取表中最后一个插入操作所产生的ID或马上使用刚插入的新记录ID的开发者来说,本文提供了一些有用的技巧和建议。 ... [详细]
  • 本文详细介绍了GetModuleFileName函数的用法,该函数可以用于获取当前模块所在的路径,方便进行文件操作和读取配置信息。文章通过示例代码和详细的解释,帮助读者理解和使用该函数。同时,还提供了相关的API函数声明和说明。 ... [详细]
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
  • EPICS Archiver Appliance存储waveform记录的尝试及资源需求分析
    本文介绍了EPICS Archiver Appliance存储waveform记录的尝试过程,并分析了其所需的资源容量。通过解决错误提示和调整内存大小,成功存储了波形数据。然后,讨论了储存环逐束团信号的意义,以及通过记录多圈的束团信号进行参数分析的可能性。波形数据的存储需求巨大,每天需要近250G,一年需要90T。然而,储存环逐束团信号具有重要意义,可以揭示出每个束团的纵向振荡频率和模式。 ... [详细]
  • 如何去除Win7快捷方式的箭头
    本文介绍了如何去除Win7快捷方式的箭头的方法,通过生成一个透明的ico图标并将其命名为Empty.ico,将图标复制到windows目录下,并导入注册表,即可去除箭头。这样做可以改善默认快捷方式的外观,提升桌面整洁度。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • 本文介绍了在Win10上安装WinPythonHadoop的详细步骤,包括安装Python环境、安装JDK8、安装pyspark、安装Hadoop和Spark、设置环境变量、下载winutils.exe等。同时提醒注意Hadoop版本与pyspark版本的一致性,并建议重启电脑以确保安装成功。 ... [详细]
  • 使用在线工具jsonschema2pojo根据json生成java对象
    本文介绍了使用在线工具jsonschema2pojo根据json生成java对象的方法。通过该工具,用户只需将json字符串复制到输入框中,即可自动将其转换成java对象。该工具还能解析列表式的json数据,并将嵌套在内层的对象也解析出来。本文以请求github的api为例,展示了使用该工具的步骤和效果。 ... [详细]
  • 仙贝旅行是日本最大的旅游服务平台之一,为广大用户提供优质的日本定制游服务。随着用户数量的增长,仙贝旅行决定与智齿科技合作,全面替换原有客服系统,打造全新的在线客服体系。该体系具备多渠道快速接入的能力,让仙贝旅行轻松与各个渠道的接入用户完成沟通。同时,机器人与人工协同发力,提升客户服务水平。 ... [详细]
  • 微软小娜企业版发布新版本,提供构建自定义技能的套件
    微软将向企业级市场发布微软小娜企业版的新版本,该版本提供了构建自定义技能的套件,使企业员工可以更方便地使用数字助理。目前该套件仍处于内测期间,只有部分企业可以获得,其他有兴趣的企业需要继续等待。新版本的套件可以帮助员工构建各种自定义技能,如检查休假余额、创建服务凭证等。微软通过让多个开发人员编辑和管理机器人通道注册配置来改善开发者的体验,团队可以自行访问和更改技能注册,满足企业实际需求。微软小娜企业版已经在各个行业得到采用,能够帮助员工专注于优先事项,将非优先处理的任务交给微软小娜处理。 ... [详细]
author-avatar
心若繁花花满地
这个家伙很懒,什么也没留下!
RankList | 热门文章