广告
返回顶部
首页 > 资讯 > 数据库 >oracle中使用索引与不使用索引的性能对比分析
  • 637
分享到

oracle中使用索引与不使用索引的性能对比分析

2024-04-02 19:04:59 637人浏览 安东尼
摘要

oracle中使用索引与不使用索引的性能对比分析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。前言Oracle存储索引的数据结构是B*树。

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中使用索引与不使用索引的性能对比分析

关于oracle中使用索引与不使用索引的性能对比分析问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注编程网数据库频道了解更多相关知识。

您可能感兴趣的文档:

--结束END--

本文标题: oracle中使用索引与不使用索引的性能对比分析

本文链接: https://www.lsjlt.com/news/55921.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • oracle中使用索引与不使用索引的性能对比分析
    oracle中使用索引与不使用索引的性能对比分析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。前言Oracle存储索引的数据结构是B*树。...
    99+
    2022-10-18
  • oracle使用索引和不使用索引的区别
    小编给大家分享一下oracle使用索引和不使用索引的区别,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!首先准备一张百万条数据的表,这样分析数据差距更形象!下面用分页表数据对表进行分析,根据EM...
    99+
    2022-10-18
  • Mysql中SQL语句不使用索引的示例分析
    小编给大家分享一下Mysql中SQL语句不使用索引的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!MySQL查询不使用索...
    99+
    2022-10-18
  • PostgreSQL索引分类及使用的示例分析
    这篇文章给大家分享的是有关PostgreSQL索引分类及使用的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1.索引方式PostgreSQL数据库支持单列index,多列...
    99+
    2022-10-19
  • Oracle不使用索引的几种情况列举
    本文介绍了几种不使用索引的情况,本文实验的数据库版本均为11.2.0.4情况1:我们在使用一个B*树索引,而且谓词中没有使用索引的最前列。如果这种情况,可以假设有一个表T,在T(x,y)上有一个索引。要做以...
    99+
    2022-10-18
  • 分布式索引中使用Go语言能否提高性能?
    随着互联网的快速发展,数据量急速增长,传统的单机索引已经无法满足大规模数据的需求。因此,分布式索引成为了处理大规模数据的重要方法之一。而在分布式索引的实现中,选择合适的编程语言也是至关重要的。本文将探讨在分布式索引中使用Go语言能否提高性...
    99+
    2023-07-22
    同步 分布式 索引
  • 怎么在Mysql中使用explain分析索引的走向
    怎么在Mysql中使用explain分析索引的走向?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。准备工作1、用户表一张,有uid ,user_...
    99+
    2022-10-18
  • 如何在PHP中使用JavaScript中的索引对象来提高性能?
    在Web开发中,PHP和JavaScript是两种非常常用的编程语言。PHP通常用于服务器端处理数据和生成HTML,而JavaScript则用于在客户端实现动态交互和响应用户操作。这两种语言各自有其优缺点,但在某些情况下,它们需要紧密协作...
    99+
    2023-08-09
    索引 对象 javascript
  • RiSearch PHP 搜索引擎的使用流程与实际案例分析
    引言:在当今信息爆炸的时代,搜索引擎成为人们获取所需信息的重要工具。而对于网站开发者来说,为网站添加一个高效的搜索引擎是非常必要的。在这篇文章中,我们将介绍一个基于PHP开发的搜索引擎——RiSearch PHP,并通过一个实际案例来展示其...
    99+
    2023-10-21
    搜索引擎 PHP 关键词: RiSearch
  • Oracle与PostgreSQL的NULL和索引使用区别是什么
    这篇文章主要讲解了“Oracle与PostgreSQL的NULL和索引使用区别是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Oracle与Postgr...
    99+
    2022-10-18
  • PHP数组索引的高级技巧:如何使用path和numy索引来提高性能?
    PHP作为一种流行的编程语言,广泛应用于Web开发领域。在PHP中,数组是一种常用的数据结构,用于存储和处理数据。数组索引是数组的一个关键部分,它允许我们通过特定的值来访问数组中的元素。在本文中,我们将讨论PHP数组索引的高级技巧,特别是如...
    99+
    2023-10-01
    path numy 索引
  • PHP开发者必看:使用path和numy索引优化索引性能的完整指南!
    在PHP开发中,索引是一个非常重要的概念。它可以帮助我们快速地访问和操作大量数据,提高程序的性能和效率。但是,如果我们的索引设计不合理,会导致程序性能下降甚至崩溃。因此,本文将介绍如何使用path和numy索引来优化索引性能。 一、pat...
    99+
    2023-10-01
    path numy 索引
  • Unix系统中的索引功能与PHP如何结合使用?
    Unix系统是一种广泛使用的操作系统,而PHP是一种流行的编程语言。在Unix系统中,索引功能是非常重要的,它可以帮助用户更快地找到所需的文件和信息。在本文中,我们将讨论Unix系统中的索引功能以及如何在PHP中使用它。 一、Unix系统中...
    99+
    2023-10-16
    unix 索引 linux
  • 怎么使用Python中Pandas的索引对齐方法
    本篇内容介绍了“怎么使用Python中Pandas的索引对齐方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一.索引对象支持集合运算:联合...
    99+
    2023-06-02
  • 使用Go语言编写高性能的索引算法。
    使用Go语言编写高性能的索引算法 在现代计算机系统中,数据的存储和管理是一个非常重要的问题。无论是在Web应用程序中,还是在大型数据仓库中,数据的索引都是保证系统性能的关键因素之一。在本文中,我们将学习如何 一、索引算法的基础概念 索引是一...
    99+
    2023-07-23
    linux numy 索引
  • 利用 SQL Server 过滤索引提高查询语句的性能分析
    大家好,我是只谈技术不剪发的 Tony 老师。 Microsoft SQL Server 过滤索引(筛选索引)是指基于满足特定条件的数据行进行索引。与全表索引(默认创建)相比,设计...
    99+
    2022-11-12
  • 如何在Go中使用索引来提高并发性能?
    在Go语言中,使用索引可以提高并发性能是一个非常重要的话题。索引可以帮助我们在并发场景下更快速地访问数据,从而提高程序的响应速度和并发处理能力。在本文中,我们将介绍如何在Go语言中使用索引来提高并发性能,并演示一些实际的代码例子。 一、什么...
    99+
    2023-11-15
    git 索引 并发
  • 如何在Java应用程序中使用索引来提高性能?
    随着数据量的不断增加,Java应用程序的性能也越来越受到关注。为了提高Java应用程序的性能,可以使用索引来优化数据库查询。在本文中,我们将介绍如何在Java应用程序中使用索引来提高性能。 什么是索引? 索引是一种数据结构,用于快速查找和访...
    99+
    2023-08-22
    path 打包 索引
  • PHP中的索引是什么,如何使用它来提高性能?
    在PHP中,索引是一种数据结构,用于快速查找和访问数据。它是一个可以加速数据访问的数据结构,可以让你在处理大量数据时提高性能。 在本文中,我们将深入探讨PHP中的索引是什么,以及如何使用它来提高性能。我们将首先介绍索引的基础知识,然后讨论...
    99+
    2023-08-07
    索引 http npm
  • 如何在GO语言中使用索引提高程序性能?
    在编写程序时,性能是一个不可忽视的问题。GO语言中的索引是一种优化性能的重要工具,可以提高程序的查询速度和操作效率。本文将介绍在GO语言中使用索引提高程序性能的方法,包括索引的基本概念、索引的分类、索引的使用方法和实例演示。 一、索引的基...
    99+
    2023-10-03
    leetcode 框架 索引
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作