首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到16条相似文献,搜索用时 93 毫秒
1.
<正>Oracle数据库性能优化包括运行性能优化、存储优化和SQL语句优化等方面,本文将围绕SQL语句执行计划优化策略进行阐述。Oracle数据库的SQL语句调优方案可以从三个角度制订:Oracle优化器模式、访问数据表的方式、共享SQL语句。1Omcle优化器模式Oracle的优化器共有三种模式:RULE(基于规则)、COST(基于成本)、CHOOSE(基于选择)。设置缺省的优化器的方法,是在启动参数文件中针对OPTIMIZER_MODE参数的各种声明进行选择,如RULE、COST、CHOOSE、ALI_ROWS、FIRST_ROWS。当然也可以在SQL语句级别或是会话级别对其进行覆盖。为了使用基于成本的优化器(CBO,Cost-BasedOptimizer),必须经常运行analyze命令,以增加数据库中的对象统计信息(obiectsiatistics)的准确性。如果数据库的优化器模式设置为基于选择,那么实际的优化器模式将和是否运行过analyze命令有关。如果数据表已经被analyze过,优化器模式将自动切换成CBO,反之,数据库将采用RULE形式的优化器。在缺省情况下,Oracle采用CHOOSE优化器。为了避免那些不必要的全表扫描,必须尽量避免使用CHOOSE优化器,而直接采用基于规则或者基于成本的优化器。2访问数据表的方式①全表扫描。全表扫描就是顺序地访问表中每条记录。Oracle采用一次读入多个数据块(databaseblock)的方式优化全表扫描。②通过ROWID访问表。ROWID包含了表中记录的物理位置信息。可以采用基于ROWID的访问方式情况提高访问表的效率。Oracle采用索引实现了数据和存放数据的物理位置(ROWID)之间的联系。通常索引提供了快速访问ROWID的方法,因此那些基于索引列的查询就可以得到性能上的提高。  相似文献   

2.
Oracle中SQL优化原理分析   总被引:1,自引:0,他引:1  
江骏 《计算机教育》2009,(10):184-186
对于SQL语句优化,因为会有成千上万条SQL语句访问Oracle数据库,所以这是最费时间的调整操作。所谓的SQL语句优化就是选择最有效的执行计划来执行SQL语句的过程。本文对Oracle中SQL的优化原理进行了分析。  相似文献   

3.
ORACLE数据库SQL优化原则   总被引:4,自引:2,他引:2  
Oracle数据库是当前应用最广泛的大型数据库之一,其系统结构复杂,性能受多方面因素影响,其中SQL语句的执行效率是影响其性能的关键因素。以一个省级通信运营商的ORACLE ERP系统为例,从ORACLE数据库的SQL共享原理和SQL执行过程入手,指出合理配置数据库参数,提高SQL语句共享、提高数据缓存命中率是SQL语句性能提高的前提;并在此基础提出了SQL语句优化的四个原则。  相似文献   

4.
基于索引的SQL语句优化方法探讨   总被引:1,自引:0,他引:1  
针对提高软件运行性能的方法之一SQL语句的优化,主要介绍了SQL语句的执行过程,以及在SQL语句执行过程中优化器是如何利用索引进行优化的,总结了建立索引的策略,以及如何使用索引器优化SQL语句.  相似文献   

5.
执行每个SQL语句,Oracle需要很多步骤.这些步骤中的每一步可能是从数据库中物理检索数据行,或者用某种方法准备数据行.Oracle用来执行语句的这些步骤的组合被称之为执行计划.执行计划是SQL优化中最为复杂也是最为关键的部分,只有知道了Oracle在内部到底是如何执行该SQL语句后,我们才能知道优化器选择的执行计划是否为最优的.  相似文献   

6.
Oracle是一种适用于大型、中型和微型计算机的关系数据库管理系统,其性能的优化问题一直是人们关注的焦点。影响数据库性能的一个重要因素就是SQL查询语句的执行效率。本文给出了优化SQL查询语句的必要性,并介绍了在Oracle数据库中SQL语句优化的基本原则和方法,证明了SQL语句优化大大提高了数据库的性能。  相似文献   

7.
针对Oracle数据库性能受到SQL语句制约的问题,本文针对SQL语句的优化要点进行了分析。首先详细描述了Oracle优化器,给出了影响执行计划的因素;其次对SQL语句可优化的类型进行了总结分析,并详细分析了优化的规则,举出了SQL实例进行比较。本文对于系统维护人员和数据库分析师都具有一定的积极作用。  相似文献   

8.
该文是以Oracle数据库的语句为研究对象对象,由于其系统结构复杂,性能受多方面因素影响,其中SQL语句的执行效率是影响其性能的关键因素之一.所以该文将围绕SQL语句优化策略进行阐述,探讨如何设计最佳的SQL语句,提高SQL语句在数据库中的解析和执行效率,并给出了相关实例分析介绍.  相似文献   

9.
Oracle数据库的SQL语句优化   总被引:2,自引:0,他引:2  
随着数据库应用系统中数据的增加,系统的性能提高成为数据库系统中需要解决的主要问题,在系统硬件不变的情况下,SQL语句的优化成为系统性能提高的主要途径。本文通过分析Oracle数据库执行SQL语句的过程,采用比较SQL语句优化之前和优化之后的执行时间和调用的数据块数量方法来判断优化效果,最后得到消耗时间少和调用数据块少的SQL语句。  相似文献   

10.
查询是数据库的核心操作,随着数据库技术的发展以及数据量急剧增加,对查询性能的要求越来越高,查询优化成为数据库管理系统亟待解决的重要问题。文中针对应用最广泛的SQL Server数据库的查询优化器进行研究。通过图形研究查询优化器的工作原理,并深人分析提交SQL语句、解析、代数化、查询优化、编译、执行、结果等查询优化器的工作步骤;进行实例分析,运用图形表示了逻辑树和经过优化后得到的查询执行计划。结果表明,SQL语句是查询优化的基础,实际应用时需要写出符合查询优化器规则的SQL语句。  相似文献   

11.
sql语句调优是数据库性能调优的重要方面.要达到同样的执行结果,sql语句有多种写法,不同的写法其性能差别很大.即使同一个sql语句,oracle也有多种途径去执行,即有多个执行计划.oracle比较这多个执行计划的性能优劣,耗费资源多少,来选择最优的执行计划.oracle在评估各个执行计划的性能时,需要借助sql语句执行的环境,即统计信息,来计算出每个执行计划耗费资源的多少.因此,尽可能收集准确的统计信息,对于oracle能否选择最优的执行计划,至关重要.其中,直方图的收集与否起着很重要的作用.本文通过实验来验证直方图对sql执行计划的影响,从而明确何种情况下需要收集直方图.  相似文献   

12.
目前主流的RDF存储系统都是基于关系数据库的,其查询引擎都是将SPARQL转换为SQL,然后由数据库的查询引擎来执行查询.但是,目前的数据库查询优化器对于连接查询的选择度估计都是基于属性独立假设的,这往往导致估计错误而选择了效率低的执行计划,所以属性相关性信息对于SPARQL查询优化器能否找到效率高的执行计划是非常重要的.针对SPARQL转换为SQL后,因连接操作没有优化导致查询效率不高的问题,提出了利用本体信息自动计算属性相关性的方法,从而调整连接操作的选择度估计值,调整连接顺序,提高SPARQL查询中基本图模式的连接查询效率.  相似文献   

13.
许多软件依赖数据库来存储信息。数据库模式的变更可能导致程序代码中与数据库相关的SQL语句代码不能正常执行,因而找出一种能够直接定位到需要修改的SQL语句代码并推荐出这些代码可能的修改方案的方法是十分必要的。提出的面向数据库模式变更的代码演化推荐方法首先自动检测出软件系统数据库模式发生的变更,随后采用程序切片技术得出与数据库操作相关的程序切片;确定受到数据库模式变更影响的程序切片后,利用源程序转换流程图算法将程序切片转化为程序流程图;根据程序流程图的分支条件得出SQL语句所有可能的特定执行路径;最后采用图映射的方法对每条路径的SQL语句进行变更语句推荐,推荐出新数据库模式下可执行的SQL语句。为了验证该方法的可行性,实现了一个用于自动检测数据库模式变更并能推荐出SQL语句演化后代码的插件工具。  相似文献   

14.
通过分析Oracle数据库执行SQL语句的过程。采用比较SQL语句优化之前和优化之后的执行时间和调用的数据块数量方法来判断优化效果,最后得到消耗时间少和调用数据块少的SQL语句。  相似文献   

15.
大型的企业或部门每天都需要处理大量的数据业务,数据库系统的设计变得异常复杂,而数据库的性能直接影响到各项业务的顺利进行。然而数据库优化涉及计算机硬件调优、应用程序调优、数据库索引优化、SQL语句优化和事务处理调优法等多个方面.对数据库系统进行优化。通过对数据库的索引技术进行研究,论述如何设置有效的数据库索引达到数据库优化.以期给数据库设计者和系统开发者提供参考。  相似文献   

16.
SQL injection attacks involve the construction of application input data that will result in the execution of malicious SQL statements. Many web applications are prone to SQL injection attacks. This paper proposes a novel methodology of preventing this kind of attacks by placing a secure database driver between the application and its underlying relational database management system. To detect an attack, the driver uses stripped-down SQL queries and stack traces to create SQL statement signatures that are then used to distinguish between injected and legitimate queries. The driver depends neither on the application nor on the RDBMS and can be easily retrofitted to any system. We have developed a tool, SDriver, that implements our technique and used it on several web applications with positive results.  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号