Oracle-Sql语句性能优化

相信许多从事几年的开发人员都有过一些经验,相对于刚出来的毕业生而言,对于同种操作sql结果,他们的代码性能会更高一些。虽然本人还是个实习生,在这还是写写自己      对sql优化问题的理解。
           sql优化,无非就是减少访问次数,给编译器更明确的命令,不要让编译器“做”的太多。

1.避免使用多表关联。
    2.避免使用‘*’。这样查询效率相当低,尽量在查询时点明你要查询的列,使用别名能够加快解析速度。
    3.用EXISTS替代DIstinct
    4.用union-all替代union
    5.自动选择索引。如果表中有两个以上(包括两个)索引,其中有唯一性索引,而其他是非唯一性。在这种情况下,oracle将使用 唯一性的索引而完全忽略非唯一性的索引。
    6.如果索引是建立在多个列上, 只有在它的第一个列(leading column)被where子句引用时,优化器才会选择使用该索引. 
   SQL> create table multiindexusage ( inda number , indb number , descr varchar2(10));

Table created.
   SQL> create index multindex on multiindexusage(inda,indb);
   Index created.
   SQL> set autotrace traceonly
   SQL> select * from multiindexusage where inda = 1; 根据索引搜索
   select * from multiindexusage where indb = 2; 忽略索引
   很明显, 当仅引用索引的第二个列时,优化器使用了全表扫描而忽略了索引
   7.避免在索引列上使用函数
   8.尽可能少使用前置统配符。他会全表扫描。
   9.针对于索引列上,尽可能不使用not否定和列自动转换,后者虽然可以实行,但是低效,因为这里索引的作用消失了。
  10.ORACLE采用自下而上的顺序解析WHERE子句,根据这个原 理, 当在WHERE子句中有多个表联接时,WHERE子句中排 在最     后的表应当是返回行数可能最少的表。
  11.尽量使用where语句替代having语句。因为后者是检索完后才过滤。

关于Oracle-SQL语句性能优化的更多相关文章

  1. Oracle SQL语句性能优化方法大全

    Oracle SQL语句性能优化方法大全 下面列举一些工作中常常会碰到的Oracle的SQL语句优化方法: 1.SQL语句尽量用大写的: 因为oracle总是先解析SQL语句,把小写的字母转换成大写的 ...

  2. oracle管理优化必备语句以及oracle SQL语句性能调整

    本文转自http://www.dataguru.cn/article-3302-1.html oracle数据库管理优化必备语句: 1. SELECT T.START_TIME,T.USED_UBLK ...

  3. 52 条 SQL 语句性能优化策略,建议收藏

    本文会提到 52 条 SQL 语句性能优化策略. 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在where及order by涉及的列上建立索引. 2.应尽量避免在where子句中对字段进行nul ...

  4. Oracle数据库的sql语句性能优化

    在应用系统开发初期,由于开发数据库数据比较少,对于查询sql语句,复杂试图的编写等体会不出sql语句各种写法的性能优劣,但是如果将应用系统提交实际应用后,随着数据库中数据的增加,系统的响应速度就成为目 ...

  5. Oracle之SQL语句性能优化(34条优化方法)

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

  6. 数据库SQL语句性能优化

    选择最有效率的表名顺序 ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下 ...

  7. Mysql性能优化一:SQL语句性能优化

    这里总结了52条对sql的查询优化,下面详细来看看,希望能帮助到你 1, 对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2,应尽量避免在 w ...

  8. Mysql 52条SQL语句性能优化策略汇总

    1.对查询进行优化,应尽量避免全表扫描,首先应考虑在where及order by涉及的列上建立索引. 2.应尽量避免在where子句中对字段进行null值判断,创建表时NULL是默认值,但大多数时候应 ...

  9. SQL语句性能优化策略

    1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 WHERE 及 ORDER BY 涉及的列上建立索引.2.应尽量避免在 WHERE 子句中对字段进行 NULL 值判断,创建表时 NULL 是默认 ...

  10. sql语句性能优化

    需要的准备知识 1最左前缀匹配 mysql会一直向右匹配直到遇到范围查询(>.<.between.like)就停止匹配, 对于where条件 a = 1 and b> 2 and c ...

随机推荐

  1. 关键字final的用法

    final关键字可以用来修饰类.方法和变量. 1.final修饰的类不能被继承. 2.final修饰的方法不能被重写. 3.final修饰的变量是常量,不能修改其值.

  2. nodejs爬虫初试---superagent和cheerio

    前言 早就听过爬虫,这几天开始学习nodejs,写了个爬虫 demo ,爬取 博客园首页的文章标题.用户名.阅读数.推荐数和用户头像,现做个小总结. 使用到这几个点: 1.node的核心模块-- 文件 ...

  3. Java NIO之缓冲区

    1.简介 Java NIO 相关类在 JDK 1.4 中被引入,用于提高 I/O 的效率.Java NIO 包含了很多东西,但核心的东西不外乎 Buffer.Channel 和 Selector.这其 ...

  4. html input密码显示为*号

    <!DOCTYPE html> <html encoding="utf-8"> <head> <style> *{margin:0; ...

  5. 随笔︱MRO-Microsoft R Open使用心得与相应内容总结

    每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 往期回顾:   新工具︱微软Microsoft ...

  6. PHP simpleXML文件编程

    SimpleXML simpleXML该技术的核心思想是以面向对象的方式来操作xml文件 <?php //simplexml文件 讲所有的元素转成对象 $library=simplexml_lo ...

  7. R语言︱大数据集下运行内存管理

    在实操时出现以下的问题: Error: cannot allocate vector of size 2.9GB 大神指导(http://bbs.pinggu.org/thread-3682816-1 ...

  8. web开发性能优化---安全篇

    1.权限管理 从模块.表单.数据审核.功能按钮全面数据安全验证及管理. 2.ip验证 数据接口访问进行IP校验 3.登录.操作日志.程序安全日志  系统所有用户登录.操作全部日志记录. 程序安全日志操 ...

  9. 主流nosql数据库对比

    目前开源的NOSQL数据库有,Redis,Tokyo Cabinet,Cassandra,Voldemort,MongoDB,Dynomite,HBase,CouchDB,Hypertable, Ri ...

  10. 从0开始整合SSM框架-1.mybatis

    1.建立maven项目 2.首先引入mybatis需要引入的依赖(1).数据库驱动(2).mybatis核心包 <!-- mysql数据库驱动--> <!-- https://mvn ...