千家信息网

oracle使用索引和不使用索引的区别

发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,小编给大家分享一下oracle使用索引和不使用索引的区别,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!首先准备一张百万条数据的表,这样分析数据差距更形象!下面用分页表数据对表进行分析,根
千家信息网最后更新 2025年01月19日oracle使用索引和不使用索引的区别

小编给大家分享一下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使用率很低,并且检索是从索引开始而不是全文检索

看完了这篇文章,相信你对oracle使用索引和不使用索引的区别有了一定的了解,想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!

0