SQL优化

作者: Zdigi | 来源:发表于2018-09-21 00:25 被阅读0次

不要让Oracle做得太多

  • 避免复杂的多表关联
  • 避免使用“ * ”
  • 避免使用耗费资源的操作
      带有DISTINCT、UNION、INTERSECT、OREDER BY的SQL语句,会启动SQL引擎去执行消耗资源的排序功能
    1.用EXISTS 替换 DISINCT
    2.用UNION ALL 替换 UNION

给优化器更明确的命令

  • 自动选择索引
      如果表中有两个或两个以上索引,并且其中有一个唯一性索引,其他是非唯一性的,此时,Oracle将使用唯一性索引而完全忽略非唯一性索引。
  • 避免在索引列上使用函数或者计算列
      在where子句中,如果索引列是函数的一部分或存在列的计算,优化器将不使用索引而使用全表扫描。
  • 避免在索引列上使用NOT
      与上点相同,在索引列中使用NOT也会使得优化器进行全表扫描,即当Oracle遇到NOT时,就会停止使用索引而执行全表扫描。
  • 避免使用前置通配符
      形如:'%123';这种
  • 避免使用IS NULL\IS NOT NULL
      优化器会忽略索引
  • 避免出现索引列自动转换
      当比较不同数据类型的数据时,Oracle会自动对列进行简单的类型转换。例如:User_no是字符类型的索引列 User_no = 123; 实际自动转换成 TO_NUBER(User_no)= 123;

相关文章

  • 常用sql优化2019-09-27

    sql优化 sql优化.................................................

  • mysql数据库优化

    1. Mysql优化介绍 1.1 sql优化 a. sql优化分析b. 索引优化c. 常用sql优化d. 常用优化...

  • Mysql 优化

    1.Sql优化 1)sql优化分析2)索引优化3)sql语句优化4)一些常用的技巧优化 (正则、函数) 2.优化数...

  • sql优化的一般策略

    sql 优化的一般策略:索引优化,sql改写,参数优化,优化器 索引优化 以select * from vvsho...

  • SQL语句优化, since 2022-04-22

    (2022.04.22 Fri)SQL语句的优化目的在于提高SQL语句的运行效率。注意SQL优化和数据库优化的区别...

  • 11-mysqlSQL分析

    六星教育 - java-mysql优化1909 SQL优化 所谓SQL优化:基于MySQL的优化器查询规则来优化S...

  • MySQl优化学习笔记(七)SQL优化简介

    一、SQL优化简介 1、我们平时说的SQL优化就是优化SQl语句和索引(通俗说就是使用什么样的SQL语句能够让索引...

  • 实战001-提煤单明细查询

    一、code 二、优化代码 2.1、优化在循环中发SQL 优化后代码 二、SQL 二、使用 Profile 分析 ...

  • MySQL优化策略

    1、 sql优化 1.1 SQL 语句简化,简化是 SQL 优化的一大利器,因为简单,所以优越。 1.2 尽可...

  • sql优化工具使用之explain

    关于sql优化,这个话题太大,我怕我说不好,因此本文仅以sql优化工具为题,如果对sql优化有兴趣,我建议去阅读下...

网友评论

      本文标题:SQL优化

      本文链接:https://www.haomeiwen.com/subject/enwnnftx.html