Oracle数据库中索引的常见执行计划是什么

技术Oracle数据库中索引的常见执行计划是什么这篇文章将为大家详细讲解有关Oracle数据库中索引的常见执行计划是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。今天

这篇文章将为大家详细讲解有关神谕数据库中索引的常见执行计划是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

今天主要介绍下神谕索引的常见执行计划:

索引全扫描:索引的全扫描,单块读,有序

索引范围扫描:索引的范围扫描

索引快速全扫描:索引的快速全扫描,多块读,无序

索引全扫描(最小/最大):针对最大值(),最小值()函数的查询

索引跳过扫描:查询条件没有用到组合索引的第一列,而组合索引的第一列重复度较高时,可能用到。

这里用简单的测试案例,体会下索引使用这些执行计划的场景。

Oracle数据库中索引的常见执行计划是什么

1. 准备测试环境

创建测试表和索引:

drop table test _ object create table test _ objects sele * from all _ objects;createindexidx _ test _ objects _ 1 entest _ objects(所有者、对象名、子对象名);createindexidx _ test _ objects _ 2 entest _ objects(object _ id);desctest _ objects查看测试表上的索引信息:

selectindex _ name,column_name,column _ position from user _ ind _ columns heretable _ name=' TEST _ OBJECTS ';分析表并清空测试环境的共享池和buffer_cache:

analyzetabletest _计算机统计;altersystemflush shared _ poolaltersystemflush buffer _ cache(9501 . 163.com)

Oracle数据库中索引的常见执行计划是什么

2. 准备SQL语句

根据不同执行计划的场景,编写结构化查询语言语句:

-indexrangscan(索引的范围扫描)从test _ objectsWHEREowner=' SYS '和object _ name=' DBMS _ OUTPUT '中选择owner、object _ name;- INDEXSKIPSCAN(针对最大值(),最小值()函数的查询)SELECTowner,对象名来自test _ objectsWHEREobject _ name=' DBMS _ OUTPUT ';- INDEXFASTFULLSCAN(索引的快速全扫描,多块读,无序)选择所有者,对象名称来自测试对象;- INDEXFULLSCAN(索引的全扫描,单块读,有序)SELECTowner,object _ name来自test _ objectsorderby 1,2;-索引全扫描(最小/最大)(针对最大值(),最小值()函数的查询)从测试对象中选择max(object _ id);3. 实验论证

结果如下:

(1)索引范围扫描

setautotracetraceonlySELECTowner,对象名来自test _ objectsWHEREowner=' SYS '和object _ name=' DBMS _ OUTPUTOracle数据库中索引的常见执行计划是什么

(2)索引跳过扫描

从test _ objectsWHEREobject _ name=' DBMS _ Output '中选择owner,object _ nameOracle数据库中索引的常见执行计划是什么

(3)索引快速全扫描

选择所有者,对象名称来自测试对象;Oracle数据库中索引的常见执行计划是什么

(4)索引全扫描

从test _ objectsorderby 1,2中选择owner,object _ nameOracle数据库中索引的常见执行计划是什么

(5)索引全扫描(最小/最大)

从测试对象中选择最大值(对象标识);Oracle数据库中索引的常见执行计划是什么

关于神谕数据库中索引的常见执行计划是什么就分享到这里了,希望

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/130917.html

(0)

相关推荐

  • 怎么解决mysql数据库报错edit the grastate问题

    技术怎么解决mysql数据库报错edit the grastate问题本篇内容主要讲解“怎么解决mysql数据库报错edit the grastate问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。

    攻略 2021年11月18日
  • C/C++ Qt TreeWidget单层树形组件怎么应用

    技术C/C++ Qt TreeWidget单层树形组件怎么应用本篇内容主要讲解“C/C++ Qt TreeWidget单层树形组件怎么应用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带

    攻略 2021年11月30日
  • MySQL如何进行密码管理

    技术MySQL如何进行密码管理这篇文章主要介绍了MySQL如何进行密码管理,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1. mysql安装后默认没有密码

    攻略 2021年11月2日
  • 详解NLP

    技术详解NLP本篇内容介绍了“详解NLP”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!处理数据实验中使用的数据或文本语料

    攻略 2021年11月6日
  • java==和equalse的区别是什么

    技术java==和equalse的区别是什么这篇文章主要介绍“java==和equalse的区别是什么”,在日常操作中,相信很多人在java==和equalse的区别是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好

    攻略 2021年11月24日
  • 怎么使用R语言中的scatterplotMatrix来绘制散点图矩阵

    技术怎么使用R语言中的scatterplotMatrix来绘制散点图矩阵本篇文章给大家分享的是有关怎么使用R语言中的scatterplotMatrix来绘制散点图矩阵,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完

    攻略 2021年11月9日