广告
返回顶部
首页 > 资讯 > 数据库 >oracle单列索引和组合索引性能测试
  • 643
分享到

oracle单列索引和组合索引性能测试

2024-04-02 19:04:59 643人浏览 泡泡鱼
摘要

共有两张表t1,t2t1的表结构t2的表结构t1和t2通过insert into t1 values ('www','aaa','bbb');insert into t1 values ('www1','a

共有两张表t1,t2

t1的表结构

oracle单列索引和组合索引性能测试

t2的表结构

oracle单列索引和组合索引性能测试


t1和t2通过

insert into t1 values ('www','aaa','bbb');

insert into t1 values ('www1','aaa1','bbb1');

insert into t1 values ('www2','aaa2','bbb2');

insert into t1 values ('www3','aaa3','bbb3');

t2同理构建

insert into t1 select * from t1;

insert into t2 select * from t2;

构建数据共:

t1共262144行

t2共524288行

为保证查询测试准确(不受缓存结果的影响)

在执行下一次查询前都会执行以下语句

ALTER SYSTEM FLUSH SHARED_POOL (清空语句,执行计划缓存)

ALTER SYSTEM FLUSH  BUFFER_CACHE (清空数据缓存)

select t1.a1,t2.a1 from t1,t2 where t1.a3=t2.a3 and t2.a1='www';

select t1.a1,t2.a1 from t1 join t2 using(a3) where t2.a1='www';

我们先用

select t1.a1,t2.a1 from t1,t2 where t1.a3=t2.a3 and t2.a1='www';

测试

explain plan for select t1.a1,t2.a1 from t1,t2 where t1.a3=t2.a3 and t2.a1='www';

SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY); 

1、不建任何索引

oracle单列索引和组合索引性能测试

t1,t2都是全表扫描

2、在t2.a1建索

oracle单列索引和组合索引性能测试

看查询结果


oracle单列索引和组合索引性能测试

t1全表扫描,t2范围索引扫描

3、在t2.a1和t1.a3建非唯一索引

oracle单列索引和组合索引性能测试

4、在t2.a1,t2.a3和t1.a3建非唯一索引

oracle单列索引和组合索引性能测试

5,在t1.a1,t1.a3建立组合索引,在t2.a3建非唯一索引

select t1.a1,t2.a1 from t1,t2 where t1.a3=t2.a3 and t2.a1='www';

oracle单列索引和组合索引性能测试

6、在t1,t2的a1和t3列建立组合索引

oracle单列索引和组合索引性能测试


根据索引的类型与where限制条件的不同,有4种类型的索引扫描:

索引唯一扫描(index unique scan)

索引范围扫描(index range scan)

索引全扫描(index full scan)

索引快速扫描(index fast full scan)


后续逐步完善测试结果!



您可能感兴趣的文档:

--结束END--

本文标题: oracle单列索引和组合索引性能测试

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

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

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

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

下载Word文档
猜你喜欢
  • oracle单列索引和组合索引性能测试
    共有两张表t1,t2t1的表结构t2的表结构t1和t2通过insert into t1 values ('www','aaa','bbb');insert into t1 values ('www1','a...
    99+
    2022-10-18
  • MySQL单列索引和组合索引的区别
    这篇文章主要讲解了“MySQL单列索引和组合索引的区别”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL单列索引和组合索引的区别”吧!  MySQL单...
    99+
    2022-10-18
  • 详解MySQL单列索引和联合索引
    目录一、简介二、单列索引三、最左前缀原则四、同时存在联合索引和单列索引(字段有重复)五、联合索引本质六、索引失效七、其它知识点八、mysql存储引擎简介九、索引结构(方法、算法)一、简介 利用索引中的附加列,可以缩小搜索...
    99+
    2022-09-22
  • MySQL---单列索引(包括普通索引、唯一索引、主键索引)、组合索引、全文索引。
    1. 索引 索引是通过某种算法,构建出一个数据模型,用于快速找出在某个列中有一特定值的行,不使用索 引,MySQL必须从第一条记录开始读完整个表,直到找出相关的行,表越大,查询数据所花费的 时间就越多,如果表中查询的列有一个索引,MySQL...
    99+
    2023-09-21
    数据库 mysql sql
  • MySQL索引性能测试
    MySQL索引性能测试   blog文档结构图:   很长一段时间没学习MySQL了,一直致力于oracle的研究,最近得空了就再拾起MyS...
    99+
    2022-10-18
  • MySQL单列索引和联合索引的用法
    本篇内容主要讲解“MySQL单列索引和联合索引的用法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL单列索引和联合索引的用法”吧!本文通过一个案例,介绍...
    99+
    2022-10-18
  • MySQL中的组合索引与单列索引的区别有哪些
    本篇内容介绍了“MySQL中的组合索引与单列索引的区别有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!...
    99+
    2022-10-18
  • MySQL单列索引和联合索引的知识点有哪些
    本篇内容主要讲解“MySQL单列索引和联合索引的知识点有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL单列索引和联合索引的知识点有哪些”吧!一、简...
    99+
    2022-10-19
  • PHP数组索引的高级技巧:如何使用path和numy索引来提高性能?
    PHP作为一种流行的编程语言,广泛应用于Web开发领域。在PHP中,数组是一种常用的数据结构,用于存储和处理数据。数组索引是数组的一个关键部分,它允许我们通过特定的值来访问数组中的元素。在本文中,我们将讨论PHP数组索引的高级技巧,特别是如...
    99+
    2023-10-01
    path numy 索引
  • 索引优化系列十五--组合查询和in有关的优化
    drop table t purge;create table t as select * from dba_objects;update t set object_id=rownum ...
    99+
    2022-10-18
  • oracle在组合索引上,只使用部分列进行查询(查询时必须包含前导列,否则会走全表扫描)
    实验环境:Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production1、创建表插入数据SQL> ...
    99+
    2022-10-18
  • SAP CRM WebClient UI订单搜索的各种条件的实现原理和性能测试是什么
    SAP CRM WebClient UI订单搜索的各种条件的实现原理和性能测试是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。CRMS4_SERVHSRCH...
    99+
    2023-06-04
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作