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

  下面用分页表数据对表进行分析,根据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);打印出性能分析表

  如下图

  使用索引前:


小编带你了解oracle使用索引和不使用索引性能分析_数据库

  使用索引后

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