`

ORACLE的SQL性能优化 一

阅读更多
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:
当删除表中的记录时,在通常情况下, 回滚段(rollback segments ) 用来存放可以被恢复的信息.
如果你没有COMMIT事务,ORACLE会将数据恢复到删除之前的状态(准确地说是恢复到执行删除命令之前的状况) 而当运用TRUNCATE时,
回滚段不再存放任何可被恢复的信息.当命令运行后,数据不能被恢复.因此很少的资源被调用,执行时间也会很短.
分享到:
评论

相关推荐

    ORACLE SQL性能优化系列

    ORACLE SQL性能优化是数据库管理员和开发者非常关心的一个话题。为了提高数据库的性能,ORACLE 提供了多种优化技术。下面我们将详细介绍 ORACLE SQL 性能优化系列中的一些重要知识点。 一、访问表的方式 ORACLE ...

    ORACLESQL性能优化.pptx

    Oracle SQL 性能优化是数据库管理中非常重要的一环。通过对 SQL 语句执行的过程、Oracle 优化器、表之间的关联、如何得到 SQL 执行计划、如何分析执行计划等内容的讨论,可以逐步掌握 SQL 优化的过程。 在 SQL ...

    ORACLE SQL性能优化.chm

    ORACLE SQL性能优化.chm ORACLE SQL性能优化.chm ORACLE SQL性能优化.chm

    《oracle SQL性能优化》中文电子书

    《Oracle SQL性能优化》这本书是数据库管理员和开发人员的重要参考资料,它深入探讨了如何提高Oracle数据库的SQL查询性能。在数据库系统中,SQL查询的速度直接影响到应用的响应时间和整体性能,因此,理解并掌握SQL...

    ORACLE-SQL性能优化大全.pdf

    通过以上知识点的详细阐述,我们可以看到Oracle SQL性能优化是一个涉及多个层面、多个方面的综合性任务。无论是从SQL语句本身出发,还是从数据库设计、实例配置等方面入手,都需要综合考虑多种因素,才能达到最佳的...

    Oracle Sql 性能优化

    Oracle Sql性能优化 解宝喆 1、选择最有效率的表名顺序(只在基于规则的优化器中有效): ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在...

    Oracle SQL性能优化总结

    简单的整理了一些Oracle性能优化方面的知识。 供大家参考学习。

    ORACLESQL性能优化系列[参考].pdf

    Oracle SQL性能优化是数据库管理中的重要环节,直接影响到应用程序的响应速度和整体系统效率。本文主要探讨了两个关键方面:优化器的选择和访问表的方式。 首先,Oracle 提供了三种优化器供选择:RULE、COST 和 ...

    ORACLE_SQL性能优化(全).ppt

    综上,Oracle SQL性能优化是一个涉及广泛领域的复杂过程,要求开发人员具备深厚的数据库理论知识和实践经验。通过深入理解SQL处理过程、优化器工作原理以及执行计划分析,可以有效地提高SQL执行效率,进而提升整个...

    ORACLE SQL性能优化

    ORACLE SQL性能优化 通过init.ora文件中OPTIMIZER_MODE声明 RULE (基于规则) 所遵循的是Oracle内部预定的一些规则。比如当一个where子句中的一列有索引时去走索引。 COST (基于成本) 你必须经常运行analyze ...

    OracleSQL的优化.pdf

    Oracle SQL 优化是数据库性能优化的关键部分。为了提高数据库的性能,我们需要从五个方面进行调整:去掉不必要的大型表的全表扫描、缓存小型表的全表扫描、检验优化索引的使用、检验优化的连接技术、尽可能减少执行...

    ORACLESQL性能优化(全)

    ORACLESQL性能优化,多学习,每天进步一点点

    oracle SQL性能优化

    3本经典oracle sql性能优化的的书,值得一看: Oracle.High.Performance.Tuning.for.9i.and.10g.chm Oracle性能优化技术内幕.pdf SQL Performance Tuning -0201791692.chm

    老方块ORACLE SQL性能优化(全)教学PPT

    性能管理 性能问题 调整的方法 SQL优化机制 应用的调整 SQL语句的处理过程 共享SQL区域 SQL语句处理的阶段 共享游标 SQL编码标准 Oracle 优化器介绍 SQL Tunning Tips 优化Tools

    ORACLE SQL性能优化规范

    总结,Oracle SQL性能优化是一个涉及多个层面的过程,包括选择合适的查询结构、优化器策略、索引管理和SQL编写技巧。遵循这些规范,可以显著提升Oracle数据库的响应速度,降低系统资源消耗,从而提升整体应用性能。

    oracle_sql性能优化 文档

    总的来说,Oracle SQL性能优化是一个涉及多个层面的综合任务,包括选择合适的优化策略、优化数据访问方式以及充分利用SQL共享机制。理解并掌握这些知识,可以帮助数据库管理员和开发人员构建高效、稳定的Oracle...

Global site tag (gtag.js) - Google Analytics