• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    oracle使用索引与不使用索引的性能详析

    前言

    Oracle存储索引的数据结构是B*树。位图索引也是如此,仅仅只是是叶子节点不同B*数索引;

    索引由根节点、分支节点和叶子节点组成。上级索引块包括下级索引块的索引数据,叶节点包括索引数据和确定行实际位置的rowid。

    使用索引的目的:

    何时使用索引:

    索引的种类

    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索引的测试实例代码
    • oracle数据库关于索引建立及使用的详细介绍
    • Oracle Index索引无效的原因与解决方法
    • ORACLE检查找出损坏索引(Corrupt Indexes)的方法详解
    • Oracle复合索引与空值的索引使用问题小结
    • oracle分区索引的失效和重建代码示例
    • Oracle关于重建索引争论的总结
    • Oracle 分区索引介绍和实例演示
    • Oracle CBO优化模式中的5种索引访问方法浅析
    • oracle索引总结
    上一篇:Oracle 18c新特性-PDB快照轮播(Snapshot Carousel)
    下一篇:Oracle 左连接(+)加号用法及常用语法之间的关系
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    oracle使用索引与不使用索引的性能详析 oracle,使用,索引,与,不,的,