zoukankan      html  css  js  c++  java
  • Oracle 查询性能优化实践

     

    1.索引使用原则

     

    不要对索引使用全模糊,但是 LIKE 'asdf%'是可以的,即不要Contains,可用StartWith

    不要对索引进行函数,表达式操作,或者使用is null判断,否则将会使用全表扫描

    不等于也会造成全表扫描,使用column < 'a' or column > 'a' 来替代

    如果一个列有索引,另一个无索引,那么 c1 or c2 ,则将会造成全表扫描;

    组合索引查询,如果包含前导索引,则会生效,否则,将会全表扫描;

     

    2.顺序

     

    where语句:尽量把大范围的过滤放在后面;

    表连接:将大范围数据过滤的表放在后面;

     

    3.执行计划

     

    学会在sqldeveloper中查看执行计划

    总的原则:避免全表扫描,善用索引。

    Eg:

    一般的查询

     

    加上索引优化:

    10天以内的数据,均使用索引。其中ORDER_ID是oi表的一个索引列

     

    AND (oi.ORDER_ID LIKE '150913%' OR oi.ORDER_ID LIKE '150914%' OR oi.ORDER_ID LIKE '150915%' OR oi.ORDER_ID LIKE '150916%' OR oi.ORDER_ID LIKE '150917%' OR oi.ORDER_ID LIKE '150918%' OR oi.ORDER_ID LIKE '150919%' OR oi.ORDER_ID LIKE '150920%' OR oi.ORDER_ID LIKE '150921%' OR oi.ORDER_ID LIKE '150922%' OR oi.ORDER_ID LIKE '150923%')

     

    速度提高了几倍,当然这个要从设计上去空间,避免大表扫描。

     

  • 相关阅读:
    jQuery-File-Upload文件上传
    JavaScript探秘:强大的原型和原型链
    JavaScript 开发进阶:理解 JavaScript 作用域和作用域链
    前端开发面试题及答案
    JSP页面
    XMLHTTP.readyState的五种状态
    HTTP: The Protocol Every Web Developer Must Know
    W3C-Web Service
    H5教程
    PHP 页面编码声明方法(header或meta)
  • 原文地址:https://www.cnblogs.com/pengzhen/p/4832929.html
Copyright © 2011-2022 走看看