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)

相关推荐

  • bring的过去分词,bring的过去式和过去分词

    技术bring的过去分词,bring的过去式和过去分词bring的过去式是brought ,过去分词是brought。具体释义如下bring的过去分词: bring  英 [brɪŋ]   美 [brɪŋ]   动词 v

    生活 2021年10月29日
  • 有哪些Go加密解密算法

    技术有哪些Go加密解密算法这篇文章主要讲解了“有哪些Go加密解密算法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“有哪些Go加密解密算法”吧!md5MD5信息摘要算法是一

    攻略 2021年10月27日
  • oracle rac环境安装目录权限被修改乱了怎么办

    技术oracle rac环境安装目录权限被修改乱了怎么办这篇文章将为大家详细讲解有关oracle rac环境安装目录权限被修改乱了怎么办,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在

    攻略 2021年12月4日
  • 如何登录服务器管理界面(服务器登录失败无法加载用户配置)

    技术高效简单的服务器登录配置方法是什么这篇文章主要介绍“高效简单的服务器登录配置方法是什么”,在日常操作中,相信很多人在高效简单的服务器登录配置方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望

    攻略 2021年12月21日
  • 无停顿的GC算法翻译

    技术无停顿的GC算法翻译 无停顿的GC算法翻译无停顿的GC算法
    ? ·································译者:黄俊
    摘要
    现在对于响应时间敏感的应用受限

    礼包 2021年11月4日
  • JavaScript中this指向怎么用

    技术JavaScript中this指向怎么用这篇文章主要介绍JavaScript中this指向怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!JavaScript中this也是一件很神奇 事情

    攻略 2021年11月14日