`
ruilin215
  • 浏览: 1142781 次
  • 性别: Icon_minigender_2
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

Oracle SQL 优化(一点一点来)

 
阅读更多

SQL Tuning(10g)

1. 使用AND=来构造谓语

为了提高SQL的执行效率,在任何可能的时候使用等值连接

2.避免改变WHERE子句中的列

在索引列上使用表达式(包括函数),将会导致优化器忽略该列上的索引,除非该列上定义的为基于函数的索引,所以应该将函数写在相对的位置上

e.empno为数值索引列

select * from emp e where e.empno=1001;使用索引

select * from emp e where e.empno=to_number('1001');使用索引

select * from emp e where e.empno||''=1001;不使用索引

select * from emp e where to_char(e.empno)='1001';不使用索引

还需要注意,当右端函数中出现列名时(不管是否为索引列),索引同样会失效:

e.ename为字符索引列

select * from emp e where e.ename=nvl('test',e.ename);不使用索引

select * from emp where ename=nvl('test','111');使用索引

要小心隐式的类型转换:

select * from emp e where e.ename=123;

下面是执行计划下的谓词信息:

1 - filter(TO_NUMBER("E"."ENAME")=123)

可以看出oralce会隐式的将列转换为数值类型,这时候索引失效,无论何时应该显示的进行类型转换来防止此种情况的发生

3.自己的总结

1.禁止对列的操作,如果对列进行操作,不仅不会使用索引,还会增加不必要的开销,这个开销在很多时候对性能影响很大

2.如何要建立索引,在数据选择性高的列上建立索引是一个指导。

3.优化思路:减少对远端对象的访问,将单条操作转化为批量操作,尽量减少交互数等(PL/SQL)

分享到:
评论

相关推荐

    Oracle 性能优化之 SQL优化

    ### Oracle 性能优化之 SQL优化 #### 一、引言 在数据库应用中,SQL查询性能直接影响到系统的响应时间和整体性能。对于大型企业级应用而言,优化SQL语句不仅能够提升用户体验,还能显著降低服务器负载,从而节省...

    oracle优化-SQL优化

    总结来说,Oracle的数据库和SQL优化是一个涉及多个层面的综合过程,需要考虑数据库架构、数据存储方式、查询效率以及优化器的合理使用等多个方面的因素。通过对这些方面的综合考虑,可以显著提升Oracle数据库的性能...

    Oracle SQL性能优化技巧大总结

    ### Oracle SQL性能优化技巧大总结 #### 一、选择最有效率的表名顺序 **背景**:在基于规则的优化器(RBO)中,Oracle解析器处理FROM子句中的表名是从右向左的。为了提高查询效率,需要合理安排表的顺序。 **技巧...

    oracle SQL性能优化

    ### Oracle SQL性能优化详解 #### 一、引言 在Oracle数据库管理中,SQL查询的性能直接影响着应用程序的响应时间和整体效率。为了提高系统的性能,优化SQL查询是必不可少的一环。本文将详细介绍Oracle SQL性能优化...

    ORACLE 11g SQL 权威指南第十六章 SQL优化 中文扫描)

    ### ORACLE 11g SQL 权威指南:SQL优化详解 #### 1. SQL优化简介 在《ORACLE 11g SQL 权威指南》的第十六章中,作者深入探讨了SQL优化这一核心主题。SQL优化是提高数据库查询效率的关键策略,通过调整查询语句或...

    Oracle SQL的优化全集

    SQL优化的其他策略还包括: - **保持SQL语句的一致性**:固定SQL书写格式,避免不必要的复杂性,有助于提高解析速度和缓存利用率。 - **使用存储过程**:存储过程可以预编译,执行效率相对较高,同时减少网络传输的...

    收获,不止SQL优化 PDF 带书签 第三部分

    编辑推荐 方法意识巧妙融入,脑图表格清晰展现; 海量案例完美结合,线上...读完全书,来,合上书本,闭上眼睛,深呼吸,用心来感受SQL优化的世界。 一个字:“爽”! 京东购买连接:https://item.jd.com/12191576.html

    Oracle数据库SQL语句优化策略

    Oracle通过将已解析的SQL语句保存在共享池(Shared Pool)中实现这一点。为了达到共享的目的,需要满足以下条件: - **字符级的比较**:当前被执行的语句必须与共享池中的语句完全相同,包括空格和换行等细节。 - *...

    oracle性能优化技巧

    ### Oracle性能优化技巧详解 ...综上所述,Oracle性能优化涉及多个方面,包括但不限于优化器的选择、表访问方式、SQL语句的编写和执行等。通过对这些方面的深入了解和合理运用,可以显著提升Oracle数据库的查询性能。

    ORACLE_SQL语句优化技术分析

    为了提高性能,DBA需要掌握一系列的SQL优化技术。 首先,了解劣质SQL语句与优质SQL语句的区别至关重要。在数据量较大时,两者之间的性能差异可能达到百倍之多。因此,优化SQL语句对于保证系统性能至关重要。通常...

    SQL优化经验大全

    ### SQL优化经验大全 在数据库管理和开发过程中,SQL查询优化是一项至关重要的技能。良好的SQL查询不仅可以提高系统的响应速度,还能显著降低系统资源消耗。本文将详细介绍30多条SQL优化的经验,帮助您更好地理解和...

    收获,不止SQL优化

    有人就有江湖,有江湖就有IT系统,有IT系统就有数据库,有数据库就有SQL,SQL应用可一字概括:“广”。..., 读完全书,来,合上书本,闭上眼睛,深呼吸,用心来感受SQL优化的世界。, 一个字:“爽”!

    Oracle性能优化内幕.pdf

    Oracle提供了多种锁定机制来实现这一点,包括行级锁、表级锁等。 - 合理使用这些机制可以在保证数据一致性的同时,最大化系统的吞吐量。 6. **系统监控与调优工具**: - Oracle提供了丰富的工具和功能来帮助管理...

    Oracle SQL Tuning with Oracle SQLTXPLAIN.pdf

    对于从事Oracle数据库优化的人员来说,SQLT是必不可少且极为实用的一款工具,更重要的是它免费提供给用户使用。本书作者在担任数据库管理员的二十多年里,处理过无数个优化问题,在加入Oracle公司后才首次接触到SQLT...

    ORACLE-SQL语句优化技术分析.docx

    ORACLE SQL 语句优化技术分析 一、问题的提出 在应用系统开发初期,由于开发数据库数据比较少,对于查询 SQL 语句,复杂视图的编写等体会不出 SQL 语句各种写法的性能优劣,但是如果将应用系统提交实际应用后,...

    insql2oracle

    在IT行业中,数据库管理和数据...总的来说,"insql2oracle"项目涉及到了C#编程、数据库连接、数据迁移、数据转换、事务管理等多个IT领域的专业知识,对于开发者来说,理解并掌握这些技术点对于成功完成任务至关重要。

    oracle sql语句详解

    在实际应用中,掌握这些知识点,能够帮助用户在Oracle数据库中高效地执行查询操作,优化SQL语句,以及合理处理空值和进行数据运算。随着学习的深入,用户能够熟练使用Oracle SQL语句进行复杂的数据分析、处理和维护...

    Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐)--随书源代码

    10.2 SQL优化 257 10.2.1 测试执行计划 257 10.2.2 跨多个执行的测试 260 10.2.3 测试查询改变的影响 263 10.2.4 寻找其他优化机会 266 10.2.5 将子查询因子化应用到PL/SQL中 270 10.3 递归子查询 273 ...

    [Oracle.SQL高级编程].Karen.Morton等.扫描版

    Oracle数据库编程涉及使用SQL语言对数据库进行操作,包括数据的增删改查、事务处理、数据控制语言和数据定义语言的使用等。 2. 高级编程技巧:标题中提到的“高级”意味着文档内容不仅包括基础的SQL命令,还可能...

    oracle_sql.rar_delphi oracle_oracle_oracle delphi_数据 oracle

    描述确认了这一点,说明这是一段源码,用于执行从Oracle到SQL Server的数据迁移。 在IT行业中,数据库迁移是一项常见的任务,尤其是在企业级应用中,可能由于业务需求、性能优化或系统升级等原因需要更换数据库平台...

Global site tag (gtag.js) - Google Analytics