ORACLE SQL性能优化PPT课件
oracle优化方法总结
千里之行,始于足下。
第 1 页/共 2 页
oracle优化方法总结
Oracle优化是提高数据库性能和响应能力的重要步骤。本文总结了一些常见的Oracle优化方法。
1. 使用索引:索引是提高查询性能的主要方法。通过在表中创建适当的索引,可以加快查询速度,并减少数据访问的开销。但是要注意不要过度使用索引,因为过多的索引会增加写操作的开销。
2. 优化查询语句:查询语句的效率直接影响数据库的性能。可以通过合理地编写查询语句来提高性能。例如,使用JOIN来替代子查询,尽量避免使用通配符查询,使用LIMIT来限制结果集的大小等。
3. 优化表结构:表的设计和结构对数据库的性能也有很大的影响。合理的表设计可以减少数据冗余和不必要的数据存储,提高查询速度。例如,适当地使用主键、外键和约束,避免过多的数据类型和字段等。
4. 优化数据库参数设置:Oracle有很多参数可以用来调整数据库的性能。根据具体的应用场景和需求,可以根据情况调整参数的值。例如,调整SGA和PGA的大小,设置合适的缓冲区大小,调整日志写入方式等。
5. 使用分区表:当表的数据量很大时,可以考虑将表分成多个分区。分区表可以加速查询和维护操作,提高数据库的性能。可以按照时间、地域、业务等来进行分区。
6. 优化存储管理:Oracle提供了多种存储管理选项,如表空间和数据文件管理。合理地分配存储空间和管理数据文件可以提高数据库的性能。例如,定期清理无用的数据文件,使用自动扩展表空间等。 锲而不舍,金石可镂。
7. 数据压缩:对于大量重复数据或者冷数据,可以考虑使用Oracle的数据压缩功能。数据压缩可以减少磁盘空间的使用,提高IO性能。
8. 使用并行处理:对于大型计算或者批处理任务,可以考虑使用Oracle的并行处理功能。并行处理可以将任务分成多个子任务,并行执行,提高处理能力和效率。
9. 数据库分区:对于大型数据库,可以考虑将数据库分成多个独立的分区。数据库分区可以提高数据的并行处理能力,减少锁竞争和冲突,提高数据库的性能。
Oracle SQL语句优化技术分析
科 信l息I产l业 Oracle SQL语句优化技术分析 张常君孙海燕 (中国联通黑龙江省分公司计费账务中心,黑龙江哈尔滨150001) 摘要:本文结合实际工作,论述了Oracle SQL语句的常用优化技术。 关键词:Oracle SQL语句优化;索引;操作苻 笔者由于工作性质,需要经常对数据库进 行查询工作,用以满足公司业务部门提出的一 些数据分析要求,这就要求笔者必须熟练掌握 Oracle SQL语句。结合工作以来多年的经验,本 文将分析讨论Oracle SQL语句优化的一些常 用方法。 1正确使用索引 在做性能跟踪分析过程中,经常发现有不 少后台程序的性能问题是因为缺少合适索引造 成的,有些表甚至—个索引都没有。合理的索引 设计要建立在对各种查询的分析和预测上。 一般来说,建立索引的原则是:有大量重 复值、且经常有范围查询(between,>,<,>=, <=)和order by、group by发生的列;经常同时 存取多列,且每列都含有重复值可考虑建立组 合索引;组合索引要尽量使关键查询形成索引 覆盖,其前导列一定是使用最频繁的列。 索引虽有助于提高性能但不是索引越多 越好,恰好相反过多的索引会导致系统低效。比 如频繁进行操作的数据库表,例如手机用户话 单清单表,如果索引过多过于复杂,会降低数据 插入速度,因为系统要频繁的进行索引更新工 作。 建立索引后,注意尽量不要在建立的索引 的数据列上进行下列操作: 避免对索引字段进行计算操作; b.避免在索引字段上使用not,<>,!=; C.避免在索引列上使用IS NULL和IS NOT NULL; d_避免在索引列上出现数据类型转换; e避免在索引字段上使用函数; £避免建立索引的列中使用空值。 2合理安排SQL语句的书写方式 一些初学者经常对SQL语句的书写方式 不加注意,实际上语句书写的规范也会大大提 高数据库的查询响应速度。本节将讨论一些常 用的SQL语句书写规范: 2.1 Sel ̄t语句的写法 a.在应用程序、包和过程中限制使用sel ̄t from table这种方式。比如SELECT as— e ̄name.user_id FROM staff WHERE staff id = l1000001 而不要使用SELECT FROM staff WHERE staff_id= 11ooOo01 b.同一功能同一性能不同写法SQL的影 响。 如一个SQL在A程序员写的为select US— e ̄name,use d from staff B程序员写的为se— leet user name.user_id from zhjs.staf(带表所有 者的前缀)c程序员写的为Select user_nszne, userid from ZHJS.STAFF(大写表名)D程序 员写的为Select user_name,user_id from zⅢS.STAFF(中间多了空格)以上四个SQL在 ORACLE分析整理之后产生的结果及执行的时 间是一样的,但是如果将SQL的字符串及格式 写得完全相同,则Oracle只会分析一次,共享 内存也只会留下一次的分析结果,这不仅可以 减少分析SQL的时间。 2.2查询表顺序的影响 在FROM后面的表中的列表顺序会对 SQL执行性能影响,在没有索引及Oracle没有 对表进行统计分析的情况下ORACLE会按表 出现的顺序进行链接,由此因为表的顺序不对 会产生十分耗服务器资源的数据交叉。Oracle 从右到左处理From子句中的表名,所以在 From子句中包含多个表的情况下,一定要将记 录最少的表放在最后。 2.3 WHERE后面的条件顺序影响 WHERE子句后面的条件顺序对大数据量 表的查询会产生直接的影响。Oracle从下到上 处理Where子句中多个查询条件,所以表连接 语句应写在其他Where条件前,可以过滤掉最 大数量记录的条件必须写在Where子句的末 尾。例如查询条件A在表中在记录集内比率为 70%,查询条件B在记录集内比率为10%,切 A、B条件均不是索引列,那么WHERE子句的 顺序应如下面所示写成: where条件B and条件A 而不要写成 where条件A and条件B 可以看出第一条SQL对系统资源的使用 要明显比第二条低。 2.4 Order by语句的使用 Order By语句中的非索引列会降低性能, 可以通过添加索引的方式处理。严格控制在 Order By语句中使用表达式。 3 SQL语句操作符的使用 3.1 IN操作符 用IN写出来的SQL的优点是比较容易写 及清晰易懂,这比较适合现代软件开发的风格。 但是用IN的SQL性能总是比较低的,从Oracle 执行的步骤来分析用IN的SQL与不用IN的 SQL有以下区别: ORACLE试图将其转换成多个表的连接, 如果转换不成功则先执行IN里面的子查询,再 查询外层的表记录,如果转换成功则直接采用 多个表的连接方式查询。由此可见用IN的SQL 至少多了一个转换的过程。一般的SQL都可以 转换成功,但对于含有分组统计等方面的SQL 就不能转换了。因此在业务密集的SQL当中尽 量不采用IN操作符,用EXISTS方案代替。例 如 SELECT FROM USER—LOG WHERE USER_NAME exist (SELECT USER_NAME FROM STAFF WHERE CITY—CODE='0451' 3.2 NOT IN操作符 此操作是强列不推荐使用的,因为它不能 应用表的索引。可以用NOT EXISTS方案代替 NOT IN的使-用。 3.3 IS NULL或IS NOT NULL操作(判 断字段是否为空) 判断字段是否为空一般是不会应用索引 的,因为索引是不索引空值的。使用IS NUL 或IS NOT NULL,Oracle会停止使用索引而执 行全表扫描。可以考虑在设计表时,对索引列设 置为NOT NULL。这样就可以用其他操作来取 代判断NULL的操作。 3.4>及<操作符(大于或小于操作符) 大于或小于操作符一般情况下是不用调 整的,因为它有索引就会采用索引查找,但有的 情况下可以对它进行优化,如一个表有100万 记录,一个数值型字段A,7O万记录的A=0,30 万记录的A=I。那么执行A>o与A>=1的效果 就有很大的区别了,因为A>0时ORACLE会先 找出为0的记录索引再进行比较,而A>=l时 ORACLE则直接找到=l的记录索引。 3.5“◇”或者“!=”操作符 对不等于操作符的处理同样会造成Ora— cle对全表的扫描,可以用“<”or“>”代替。 3.6 LIKE操作符 LIKE操作符可以应用通配符查询,里面 的通配符组合可能达到几乎是任意的查询,但 是如果用得不好则会产生性能上的问题。当通 配符“%”或者“一”作为查询字符串的第一个字 符时,索引不会被使用。如LIKE‘%AAAA%’ 这种查询不会引用索引,而LIKE‘XAAAA%’ 则会引用范围索引。 3.7 UNION操作符 UNION在进行表链接后会筛选掉重复的 记录,所以在表链接后会对所产生的结果集进 行排序运算,删除重复的记录再返回结果,最后 返回结果集,如果表数据量大的话可能会导致 用磁盘进行排序。 因此最好采用UNION ALL 操作符替代UNION,因为UNION ALL操作只 是简单的将两个结果合并后就返回。 4结论 Oracle SQL语句的性能问题常常是由于 在索引设计和查询设计方面存在各种缺陷引起 的。SQL优化的实质就是在结果正确的前提下, 充份利用索引,减少表扫描的I/O次数,尽量避 免表搜索的发生。其实SQL的性能优化是一个 复杂的过程,以上这些只是在应用层次的一种 体现,深入研究还会涉及数据库层的资源配置、 网络层的流量控制以及操作系统层的总体设计 等等方面,这些已经超出本文所要讨论的范围, 因此不在本文赘述了。总之Oracle SQL语句的 优化需要我们在生产中不断学习,不断总结,才 能更为得心应手的应用到工作中去。
oracle sql 优化技巧
第 1 页 共 6 页 oracle sql 优化技巧
(实用版3篇)
目录(篇1)
1.Oracle SQL 简介
2.优化技巧
2.1 减少访问数据库次数
2.2 选择最有效率的表名顺序
2.3 避免使用 SELECT
2.4 利用 DECODE 函数
2.5 设置 ARRAYSIZE 参数
2.6 使用 TRUNCATE 替代 DELETE
2.7 多使用 COMMIT 命令
2.8 合理使用索引
正文(篇1)
Oracle SQL 是一款广泛应用于各类大、中、小微机环境的高效、可靠的关系数据库管理系统。为了提高 Oracle SQL 的性能,本文将为您介绍一些优化技巧。
首先,减少访问数据库的次数是最基本的优化方法。Oracle 在内部执行了许多工作,如解析 SQL 语句、估算索引的利用率、读数据块等,这些都会大量耗费 Oracle 数据库的运行。因此,尽量减少访问数据库的次数,可以有效提高系统性能。
其次,选择最有效率的表名顺序也可以明显提升 Oracle 的性能。Oracle 解析器是按照从右到左的顺序处理 FROM 子句中的表名,因此,合理安排表名顺序,可以减少解析时间,提高查询效率。 第 2 页 共 6 页 在执行 SELECT 子句时,应尽量避免使用,因为 Oracle 在解析的过程中,会将依次转换成列名,这是通过查询数据字典完成的,耗费时间较长。
DECODE 函数也是一个很好的优化工具,它可以避免重复扫描相同记录,或者重复连接相同的表,提高查询效率。
在 SQLPlus 和 SQLForms 以及 ProC 中,可以重新设置 ARRAYSIZE
参数。该参数可以明显增加每次数据库访问时的检索数据量,从而提高系统性能。建议将该参数设置为 200。
当需要删除数据时,尽量使用 TRUNCATE 语句替代 DELETE 语句。执行 TRUNCATE 命令时,回滚段不会存放任何可被恢复的信息,所有数据不能被恢复。因此,TRUNCATE 命令执行时间短,且资源消耗少。
34种Oracle性能优化的方法
34种Oracle性能优化的方法
1、选择最有效率的表名顺序(只在基于规则的优化器中有效):
ORACLE的解析器按照 从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要选择交叉表(intersection table)作为基础表, 交叉表是指那个被其他表所引用的表.
2、WHERE子句中的连接顺序:
ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前, 那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾.
3、SELECT子句中避免使用 ‘ * ‘:
ORACLE在解析的过程中, 会将'*' 依次转换成所有的列名, 这个工作是通过查询数据字典完成的, 这意味着将耗费更多的时间
4、减少访问数据库的次数:
ORACLE在内部执行了许多工作: 解析SQL语句, 估算索引的利用率, 绑定变量 , 读数据块等;
5、在SQL*Plus , SQL*Forms和Pro*C中重新设置ARRAYSIZE参数, 可以增加每次数据库访问的检索数据量 ,建议值为200
6、使用DECODE函数来减少处理时间:
使用DECODE函数可以避免重复扫描相同记录或重复连接相同的表.
7、整合简单,无关联的数据库访问:
如果你有几个简单的数据库查询语句,你可以把它们整合到一个查询中(即使它们之间没有关系)
8、删除重复记录:
最高效的删除重复记录方法 ( 因为使用了ROWID)例子:
DELETE FROM EMP E WHERE E.ROWID > (SELECT
MIN(X.ROWID)
FROM EMP X WHERE X.EMP_NO = E.EMP_NO);
9、用TRUNCATE替代DELETE:
浅谈Oracle数据库SQL性能优化
浅谈Oracle数据库SQL性能优化
摘
要:随着计算机信息网络技术的不断发展,数据库系统取得很大突破。面临网络化时代的进步,人们对网络信息的需求的也变得逐渐走向多元化。网络信息数据库存取技术逐渐被广泛运用,数据库系统规模也越来越大。目前Oracle就是被广泛应用的一种数据库,其信息存储量能满足人们日益增长的需求,但为了能够保证其能够流畅稳定安全地运行,应当对其进行一定的优化措施。
关键词:Oracle数据库;SQL优化
随着数据库技术功能逐步增加,应用范围逐渐扩展,效果也是日渐明显。随着网络信息吞吐量的逐步增加,数据库系统在对数据进行处理时算法变得十分繁琐。数据库系统如果长时间的超负荷工作就会变得反应迟钝影响效率,甚至可能导致死锁。由于天天都将会有大量的SQL语句访问Oracl数据库系统,系统需要很多时间来处理这些访问,而SQL语句直接影响到Oracl数据库系统性能,所以运用对SQL语句优化的方法来提升ORACLE数据库的性能显得十分必要。
1、对SQL进行优化的必要性
数据库系统作为数据管理的主要组成部分主要作用是存储供相关人员查阅大量信息,实现网络资源共享。查询操作在数据库系统的各种操作中居于首位,直接关系到数据库系统的运行状态。假如数据查询操作量过大,会给系统带来很大的负担,系统反应速度变慢,严重者可能就会引起系统瘫痪。因此,为了保证数据库系统的高效正常运行,必须对SQL语句进行优化[1]。
图1.1SQL语句优化
2、SQL优化的目标
往往由于SQL的结构设计的问题,很可能使得正常运行的一个数据库系统出现性能问题。所以必须对SQL语句进行必要的调整,达到有效提升数据库系统性能的目的。对SQL结构的优化本质就是简化繁琐的数据结构,常规方法一般就是对SQL语法进行一些调整,基本方法是把程序中繁琐的SQL语句结构简化,保持服务器的搜索数据能力处于最佳运行状态,有效降低程序中表扫描的时间,促使所以功能得以充分发挥,尽量使服务器的处理器时间和输入输出时间保持平衡。在优化过程中,要学会挑选SQL语句那些能有效提升性能、消耗系统资源多,或使用频率较多语句进行优化[2]。
oracle性能优化总结
1 / 14 Oracle 性能优化50个方法
2 / 14 1. 选用适合的ORACLE优化器 ORACLE的优化器共有3种: a. RULE (基于规则) b. COST (基于成本) c. CHOOSE (选择性) 设置缺省的优化器,可以通过对init.ora文件中OPTIMIZER_MODE参数的各种声明,如RULE,COST,CHOOSE,ALL_ROWS,FIRST_ROWS . 你当然也在SQL句级或是会话(session)级对其进行覆盖. 为了使用基于成本的优化器(CBO, Cost-Based Optimizer) , 你必须经常运行analyze 命令,以增加数据库中的对象统计信息(object statistics)的准确性. 如果数据库的优化器模式设置为选择性(CHOOSE),那么实际的优化器模式将和是否运行过analyze命令有关. 如果table已经被analyze过, 优化器模式将自动成为CBO , 反之,数据库将采用RULE形式的优化器. 在缺省情况下,ORACLE采用CHOOSE优化器, 为了避免那些不必要的全表扫描(full table scan) , 你必须尽量避免使用CHOOSE优化器,而直接采用基于规则或者基于成本的优化器. 2. 访问Table的方式 ORACLE 采用两种访问表中记录的方式: a. 全表扫描 全表扫描就是顺序地访问表中每条记录. ORACLE采用一次读入多个数据块(database block)的方式优化全表扫描,这样的访问方式是效率最低的. b. 通过ROWID访问表 你可以采用基于ROWID的访问方式情况,提高访问表的效率, , ROWID包含了表中记录的物理位置信息..ORACLE采用索引(INDEX)实现了数据和存放数据的物理位置(ROWID)之间的联系. 通常索引提供了快速访问ROWID的方法,因此那些基于索引列的查询就可以得到性能上的提高. 3. 共享SQL语句 为了不重复解析相同的SQL语句,在第一次解析之后, ORACLE将SQL语句存放在内存中.这块位于系统全局区域SGA(system global area)的共享池(shared buffer pool)中的内存可以被所有的数据库用户共享. 因此,当你执行一个SQL语句(有时被称为一个游标)时,如果它 和之前的执行过的语句完全相同, ORACLE就能很快获得已经被解析的语句以及最好的 执行路径. ORACLE的这个功能大大地提高了SQL的执行性能并节省了内存的使用. 可惜的是ORACLE只对简单的表提供高速缓冲(cache buffering) ,这个功能并不适用于多表连接查询. 数据库管理员必须在init.ora中为这个区域设置合适的参数,当这个内存区域越大,就可以保留更多的语句,当然被共享的可能性也就越大了. 当你向ORACLE 提交一个SQL语句,ORACLE会首先在这块内存中查找相同的语句. 这里需要注明的是,ORACLE对两者采取的是一种严格匹配,要达成共享,SQL语句必须 完全相同(包括空格,换行等). 共享的语句必须满足三个条件: A. 字符级的比较: 当前被执行的语句和共享池中的语句必须完全相同. 例如: SELECT * FROM EMP; 和下列每一个都不同 SELECT * from EMP; Select * From Emp;
论Oracle数据库的性能优化问题
论Oracle数据库的性能优化问题
Oracle数据库是一款流行的企业级数据库软件,但其性能优化问题也是不可避免的。在实际应用中,如果Oracle数据库出现性能问题,将有严重的影响和损失。因此,本文将讨论如何优化Oracle数据库的性能问题。
首先,针对Oracle数据库的性能瓶颈,可以通过调整数据库参数来提高性能。Oracle数据库有很多参数可以配置,例如,缓存区大小、连接数、内存分配等。通过针对不同的应用场景调整不同的参数配置,可以最大化地利用数据库的性能。
其次,针对SQL的性能问题,可以通过改进SQL语句来提高性能。SQL优化是一项复杂的工作,但可以通过分析SQL执行计划来发现性能瓶颈,例如,缺乏索引、大表连接、高开销的子查询等。并可以通过添加索引、优化查询语句等方式来提高数据库的性能。
除此之外,还可以通过加强硬件设备等方面来提升数据库性能。例如,扩展数据库服务器的内存和硬盘容量,可以提高数据库的读写速度。而使用高速网络设备如IB网络和10/100G以太网设备等,也可提高数据库的数据传输速度。
此外,Oracle数据库的性能优化也需要管理进程的支持与配合。例如,数据库管理员需要监控数据库服务器硬件和软件性能,例如Oracle数据库的内部锁、等待事件、I/O活动等等。在监控到性能问题后,需要在业务空档期进行优化,如调整SQL语句、更改数据库参数等。
总之,提高Oracle数据库的性能需要全面考虑软硬件配置、SQL语句等多个方面的因素。通过合理的参数配置、SQL优化和硬件支持等方式,可以优化数据库的性能,提高应用的稳定性和响应速度。
oracle sql解析
- 1 - oracle sql解析
OracleSQL解析是指对Oracle数据库中的SQL语句进行分析和优化的过程。在执行SQL语句之前,Oracle 数据库需要对 SQL 语句进行解析,判断其语法的正确性,并将其转化为可执行的计划。整个解析过程包括词法分析、语法分析、语义分析和优化等步骤。
词法分析是指将 SQL 语句拆分为单词,即 Token,也就是对 SQL
语句进行分词。SQL 语句中的每个单词都包含了不同的信息,如表名、列名、操作符等。该步骤的目的是将 SQL 语句的每个单词进行分类和标记,以便后续的操作。
语法分析是指对 SQL 语句进行语法检查,以确保其符合 Oracle
数据库的语法要求。在该步骤中,Oracle 数据库会检查 SQL 语句中的关键字、表达式、运算符等是否符合语法规则,如果存在语法错误,则会返回错误信息。
语义分析是指对 SQL 语句进行语义检查,以确保其符合 Oracle
数据库的语义要求。在该步骤中,Oracle 数据库会检查 SQL 语句中的表、列、视图等是否存在,以及它们之间的关系是否正确。如果存在语义错误,则会返回错误信息。
优化是指对 SQL 语句进行性能优化,以提高 SQL 语句的执行效率。在该步骤中,Oracle 数据库会根据 SQL 语句的特点和数据的分布情况,选择合适的执行计划,以最小化查询的成本。优化的结果是生成一个最优的执行计划,该计划将被用于执行 SQL 语句。
总之,Oracle SQL 解析是 Oracle 数据库中非常重要的过程, - 2 - 它确保了 SQL 语句的正确性和性能。在实际应用中,我们需要注意
SQL 语句的编写规范和性能优化方法,以确保 Oracle 数据库的高效运行。
ORACLE 10g数据库性能优化与分析
ORACLE 10g数据库性能优化与分析
摘要:随着数据库在生活中各个领域中的广泛应用,数据库产品也层出不穷。其中,oracle数据库产品在整个数据库产品的应用中占据50%,并且有不断上升的趋势。可是,随着数据库数据量的增大、并发用户数量增多,系统常常出现吞吐量降低,响应时间延长等性能问题,怎样有效优化、改善数据库性能,突破系统瓶颈,是保证 oracle 数据库高效运行的基础。oracle 数据库系统性能优化、调整是一项复杂的系统工程,贯穿于系统的整个生存周期中。
关键词:oracle数据库;性能优化;索引;sql语句
中图分类号: tp311 文献标识码: a 文章编号:1009-3044(2013)13-2943-03
1 概述
数据库优化不仅仅是dba(数据库管理员)的事情,它也是设计人员、应用开发人员必须做的事情。有人认为,优化数据库不用着急,在系统出现宕机或者慢到无法忍受时再优化不迟。但此时,往往无法有效的对相应的数据库进行更为有效的优化。所以我们应当在整个数据库的生命周期中,给予不断地优化,以使数据库达到最好的性能[1]。
2 数据库系统性能评价指标
2.1 系统吞吐量
2.2 响应时间
响应时间是,在用户提交任务要求到数据库做出回应的时间。其实质就是,终端客户等待后台处理所花费的时间[2]。因此响应时间优化的重要性不言而喻。调查显示,当用户等待一项任务的响应时间超过几秒钟时,用户可能就会对此系统产生不满或者厌烦的情绪。因此,我们必须通过优化,将响应时间降到最低。
2.3 数据库的命中率
数据库命中率是数据库性能中非常重要的评价指标,包括数据库缓冲区命中率和共享池命中率。缓冲区命中率是指用户需求的数据是否存放在在内存中,该命中率是指高速缓存命中总数除以高速缓存的查找总数;共享池命中率决定了用户提交的 sql语句是否需要进行重新解析,该比率等于 sql 语句的解析次数除以sql语句总的执行次数。通常情况,数据库的命中率应该在 90%左右,低于这个值的系统均需要做出优化和调整[3]。
基于Oracle数据库的SQL语句优化
ISSN 1009-3044 ComputerKnowledgeandTechnology电脑知识与技术
Vo1.6.No.1january 2010,PP.20~22,25 E—mail:jsh@cccc.net.cn http://www.dnzs.net.CB
Teh+86—55 l一5690963 5690964
基于Oracle数据库的SQL语句优化
张学琴
(北方民族大学,宁夏银川750021)
摘要:该文主要介绍了SQL语句优化技术,并对教据查询语句自身的书写提出一些方法用以优4L4 ̄-能低下的SQL语句。结论表明:
对于Oracle这样结构复杂但性能高度可调的数据库,从查询语句的书写这方面进行优化,在不增加软硬件成本投入的情况下,优化
效果非常明显,具有一定的实用价值
关键词:Oracle;数据库;SQL;查询;优化
中图分类号:TP3l1 文献标识码:A 文章编号:1009—3044(2010)01—20—03
SQL Optimization Based Oil Oracle DataBase
ZHANG Xue—qin
(North University for the Nationalities,Ningxia 750021,China)
Abstract:This paper is introduced technique of SQL optimization,and puts up some methods on writing data query statement tO enhance the low performance SQL lasdy.The Findings indicate as follows:For oracle database whose structure is more complicate but the perfor- mance height is tunable,Optimizing from writing of data query statement.Without increasing hardware and software cost,the result is signifi- cant and is practicable to certain degree.
