oracle中使用索引与不使用索引的性能对比分析
发表于:2024-11-14 作者:千家信息网编辑
千家信息网最后更新 2024年11月14日,oracle中使用索引与不使用索引的性能对比分析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。前言Oracle存储索引的数据结构是B
千家信息网最后更新 2024年11月14日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安全错误
数据库的锁怎样保障安全
软件开发增税
北京it软件开发来电咨询
jqm 数据库
服务器管理员的素质
徐州百度霸屏百度推广软件开发
安全客户端访问服务器
星云网络安全实验室创始人
激战2服务器人数
方舟8081服务器
多种验证组合软件开发设计模式
龙岗区新一代网络技术开发动态
sgm服务器
西南科技大学网络安全学院
网络技术的目标职能
网络安全法对比欧美
网络安全宣传海报手绘作品高质量
商务软件开发与应用是干什么的
qq号申请一直显示服务器繁忙
人月神话软件开发作者
儿童上网时长数据库
服务器 ssh
互联网科技平台卖保险
数据库优化实例
数据库修改表密码
数据库角色的创建和安全
平谷区创新网络技术服务系统
台服dnf连接数据库密码
益网软件开发有限公司
网络安全绿与弊英语手抄报
零度柠檬网络安全