zoukankan      html  css  js  c++  java
  • oracle使用索引和不使用索引性能分析

    首先准备一张百万条数据的表,这样分析数据差距更形象!

    下面用分页表数据对表进行分析,根据EMP_ID 字段排序,使用索引和不使用索引性能差距!

    sql查询语法准备,具体业务根据具体表书写sql语法:

    SELECT *
    FROM (SELECT ROW_.*, ROWNUM ROWNUM_
    FROM (SELECT *
    FROM KQS_SQ_INFO i
    ORDER BY i.EMP_ID desc ) ROW_
    WHERE ROWNUM <= 20)
    WHERE ROWNUM_ >= 10;

    使用 explain plan for可以分析sql

    如下:
    explain plan for SELECT *
    FROM (SELECT ROW_.*, ROWNUM ROWNUM_
    FROM (SELECT *
    FROM KQS_SQ_INFO i
    ORDER BY i.EMP_ID desc ) ROW_
    WHERE ROWNUM <= 20)
    WHERE ROWNUM_ >= 10;

    计算出SQL性能,使用


    select * from TABLE(dbms_xplan.display);打印出性能分析表

    如下图:

    使用索引后:

    使用索引前

    可以清晰看到使用后cpu使用率很低,并且检索是从索引开始而不是全文检索

    注意:为了提升性能,建议排序列为not null,具体为啥,当然百度咯

  • 相关阅读:
    Ural 1966 Cycling Roads
    SQL Server 2008 安装(lpt亲测)
    cf Round#273 Div.2
    poj 2318 TOYS
    计算几何好模板
    ❤Friends
    限制pyqt5应用程序 只允许打开一次
    pyqt5 菜单栏+信息提示框
    Android Linux deploy
    system分区解锁
  • 原文地址:https://www.cnblogs.com/shihaibin821/p/9772026.html
Copyright © 2011-2022 走看看