oracle中使用索引与不使用索引的性能对比分析
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,oracle中使用索引与不使用索引的性能对比分析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。前言Oracle存储索引的数据结构是B
千家信息网最后更新 2025年11月07日oracle中使用索引与不使用索引的性能对比分析
oracle中使用索引与不使用索引的性能对比分析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
前言
Oracle存储索引的数据结构是B*树。位图索引也是如此,仅仅只是是叶子节点不同B*数索引;
索引由根节点、分支节点和叶子节点组成。上级索引块包括下级索引块的索引数据,叶节点包括索引数据和确定行实际位置的rowid。
使用索引的目的:
加快查询速度
降低I/O操作
消除磁盘排序
何时使用索引:
查询返回的记录数
排序表<40%
非排序表 <7%
表的碎片较多(频繁添加、删除)
索引的种类
非唯一索引(最经常使用)
唯一索引
位图索引
局部有前缀分区索引
局部无前缀分区索引
全局有前缀分区索引
散列分区索引
基于函数的索引
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);打印出性能分析表
如下图:
使用索引前:
关于oracle中使用索引与不使用索引的性能对比分析问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。
索引
分析
性能
数据
节点
排序
前缀
问题
查询
位图
叶子
局部
差距
更多
语法
准备
帮助
解答
不同
易行
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
力控7创建SQL数据库
公安网络安全5个注意
一个视频搞懂服务器
php数据库注册登录例子
数据库中关系运算视频
数据库的日期参数
软件开发主流哪门语言
网络安全督查方案
品质网络技术哪家好
数据库微软有什么软件
自考计算机网络技术改版
电网网络安全进基层活动新闻
ads2021服务器无法打开
局域网dns服务器的ip
华三服务器外部健康灯闪烁
泾县巨型软件开发服务耗材
西门子ph服务器配置消息队列
家用服务器要多大的存储电源
acb是哪个数据库的
悉尼大学网络安全专业
光音网络技术
星际战争2换服务器
网络安全督查方案
我的世界32k服务器网易版
好久没做软件开发
网络安全需要数学和英语好吗
路由器上dhcp服务器
网络技术基础的理解
天大网络安全学院
rose数据库表关系