`
morris
  • 浏览: 179081 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Oracle SQL优化技巧

阅读更多
我觉得主要应该从5个方面进行调整:
1.去掉不必要的大型表的全表扫描
2.缓存小型表的全表扫描
3.检验优化索引的使用
4.检验优化的连接技术
5.尽可能减少执行计划的Cost

现在简单的举几个例子

Where子句中有“!=”将不使用索引
select account_name from test where amount != 0  (不使用)
select account_name from test where amount > 0  (使用)

Where条件中对字段增加处理函数将不使用该列的索引
select * from emp where to_char(hire_date,'yyyymmdd')='20080411' (不使用)
select * from emp where hire_date = to_char('20080411','yyyymmdd') (使用)

避免在索引列上使用IS NULL和 IS NOT NULL
select * from emp where dept_code is not null  (不使用)
select * from emp where dept_code > 0  (使用)

通配符% 的使用
select * from emp where name like '%A'  (不使用索引)
select * from emp where name like 'A%'  (使用索引)
分享到:
评论
5 楼 morris 2008-04-11  
yanyanlong 写道


可以通过建立反向索引..让
select * from emp where name like '%A'
也使用索引


好像我們一般不用反向索引 再説 reverse索引一般用于ops环境
4 楼 yanyanlong 2008-04-11  
通配符% 的使用
select * from emp where name like '%A' (不使用索引)
select * from emp where name like 'A%' (使用索引)

可以通过建立反向索引..让
select * from emp where name like '%A'
也使用索引
3 楼 morris 2008-04-11  
補充一下:

在含有子查询的SQL语句中,要特别注意减少对表的查询.例子:
SELECT  EMP_NO FROM EMP WHERE (GROUP,NAME) = ( SELECT
COLUMN1,COLUMN2 FROM  TEST WHERE  TEST_ID = 604)

最高效的删除重复记录方法 ( 因为使用了ROWID)例子:
DELETE  FROM  EMP E  WHERE  E.ROWID > (SELECT MIN(X.ROWID)
FROM  EMP X  WHERE  X.EMP_NO = E.EMP_NO);

sql语句用大写的;因为oracle总是先解析sql语句,把小写的字母转换成大写的再执行

在java代码中用到preparedStatement的時候尽量少用连接符“+”连接字符串!

2 楼 morris 2008-04-11  
xiaoych 写道
避免在索引列上使用IS NULL和 IS NOT NULL
select * from emp where dept_code is not null (不使用)
select * from emp where dept_code > 0 (使用)

---------------------

这个应该是走索引的吧?!


不好意思  是我錯了 應該是IS NULL不會用到索引
而IS NOT NULL用到索引全掃描
1 楼 xiaoych 2008-04-11  
避免在索引列上使用IS NULL和 IS NOT NULL
select * from emp where dept_code is not null (不使用)
select * from emp where dept_code > 0 (使用)

---------------------

这个应该是走索引的吧?!

相关推荐

    oracle SQL优化技巧

    Oracle SQL 优化技巧 Oracle SQL 优化是提高数据库性能的关键技巧之一。以下是 Oracle SQL 优化的 12 个技巧: 1. 选择最有效率的表名顺序 在基于规则的优化器中,Oracle 的解析器按照从右到左的顺序处理 FROM ...

    ORACLE SQL性能优化技巧

    书写高质量的oracle sql,用表连接替换EXISTS,索引的技巧等等

    Oracle SQL性能优化技巧总结

    ### Oracle SQL性能优化技巧总结 #### 一、选择最有效率的表名顺序 在Oracle数据库中,SQL语句的执行顺序对查询性能有着显著的影响。对于基于规则的优化器而言,FROM子句中表的顺序至关重要。Oracle的解析器会按照...

    Oracle数据库SQL优化总结

    以下是一些针对非DBA的Oracle SQL优化技巧: 1. **选择最有效的表名顺序**:在FROM子句中,应将记录最少的表放在最前面,基础表(driving table)应该是最先处理的。在多表连接查询中,选择被其他表引用最多的交叉...

    oracle sql优化实战案例

    主要讲述oracle sql 的开发以及优化,对低效率的sql的优化方法和诊断技巧

    ORACLESQL性能优化.pptx

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

    SQL-Optimization.rar_oracle_sql优化

    三、Oracle SQL优化技巧 1. 使用EXPLAIN PLAN分析查询:Oracle提供EXPLAIN PLAN工具,用于分析SQL执行计划,帮助找出潜在的性能瓶颈。 2.绑定变量:使用绑定变量可以减少硬解析,提高SQL执行效率。 3. 优化连接顺序...

    oracle sql优化

    本文将深入探讨Oracle SQL优化的相关知识点,帮助你掌握提高数据库效率的核心技巧。 一、了解执行计划 执行计划是Oracle解析SQL语句后确定的数据获取策略,包括表的扫描方式(全表扫描或索引扫描)、连接顺序、排序...

    Oracle SQL性能优化技巧大总结

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

    落落 Oracle SQL优化与改写培训教程

    大量优化实战方法:将主要SQL优化点一一剖析,分享大量SQL优化的实际工作经验 50余改写调优案例:覆盖大多数DBA日常工作场景,具有相当大的实用价值 技巧+案例:可以作为DBA的参考手册,也可以作为开发人员编写SQL...

    OracleSQL性能优化技巧

    Oracle SQL性能优化是数据库管理中的关键环节,它涉及到多个层面,包括数据结构设计、应用程序结构、SQL语句、服务器内存分配、硬盘I/O以及操作系统参数的调整。这些方面都直接影响到Oracle数据库系统的运行效率和...

    高清完整版 Oracle 高性能SQL引擎剖析SQL优化与调优机制详解

    Oracle的SQL优化与调优机制复杂多样,涵盖了从SQL语句的编写、执行计划的选择、到资源管理的全方位调优方法。为了深入理解Oracle SQL优化与调优机制,需要掌握以下几个核心知识点。 首先,要掌握Oracle SQL的基本...

    jiaozhu.zip 教主 Oracle SQL改写优化 2.0版

    教主Oracle SQL高级查询优化改写完美培训视频 2.0版,这个我参与培训的,包含视频、SQL文件、教学文档内容完整,分享给大家学习,共同努力进阶转型开发DBA,人称教主,做sql改写十多年了,sql改写功底很强!

    Oracle性能优化技巧

    ### Oracle性能优化技巧详解 #### 一、引言 Oracle数据库是企业级应用中的核心组件之一,其性能直接影响到业务系统的稳定性和响应速度。本文将详细介绍Oracle性能优化的关键技巧,帮助用户更好地理解和掌握如何...

    ORACLE_SQL性能优化技巧

    Oracle SQL性能优化是数据库管理中的关键环节...通过理解和应用这些技巧,数据库管理员和开发人员可以有效地优化ORACLE SQL查询,提升系统整体性能。记住,每个数据库环境都有其独特性,最佳实践需要根据实际情况调整。

    Oracle Sql 性能优化技巧总结

    Oracle SQL性能优化是数据库...这些优化技巧可以帮助提升Oracle SQL查询的性能,减少资源消耗,尤其在处理大量数据时效果显著。在实际应用中,应结合具体场景灵活运用,并结合EXPLAIN PLAN等工具进行性能分析和调优。

    oracle之SQL优化

    在Oracle环境中,SQL优化对于提升系统性能、减少资源消耗至关重要。本篇文章将深入探讨Oracle中的SQL优化技术,包括理解执行计划、索引优化、连接优化、子查询优化、缓存策略以及SQL调优工具的使用。 1. **理解执行...

    oracle_sql性能优化 文档

    除此之外,还有其他一些优化技巧,比如使用绑定变量以减少硬解析,使用适当的索引类型(如位图索引、函数索引),考虑使用索引合并策略,以及监控和调整表的分区策略等。同时,定期分析数据库的性能瓶颈,通过...

Global site tag (gtag.js) - Google Analytics