oracle中使用索引与不使用索引的性能对比分析
发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,oracle中使用索引与不使用索引的性能对比分析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。前言Oracle存储索引的数据结构是B
千家信息网最后更新 2025年01月21日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安全错误
数据库的锁怎样保障安全
公安数据库技术支持
中国航油网络安全技术培训
杭州边乐网络技术公司
岳阳东塔网络安全学院哪里学
java调查报告数据库表
会计和软件开发
网络安全法的规定国家实行
ptr服务器在哪领金币
工程网络技术规划规程
网络安全隐私罪
游戏初始化无法连接服务器
tb交易数据库
线上服务器管理方案
想搞软件开发选什么专业
扬州erp软件开发
淘汽科技互联网公司总经理
rds 云数据库 定义
微信删除好友数据库
崇明区新时代软件开发费用
网络安全工程师 英语
软件开发人员的薪资
天线服务器
手机app聊天软件开发
系统软件开发陆正忠
网络技术优化方案
思域无法连接服务器
上门洗车app软件开发
文化墙软件开发
中科大 网络安全
影视如何配置服务器