Oracle数据库中索引的常见执行计划是什么
发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,这篇文章将为大家详细讲解有关Oracle数据库中索引的常见执行计划是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。今天主要介绍下Oracle索引的
千家信息网最后更新 2025年01月19日Oracle数据库中索引的常见执行计划是什么
这篇文章将为大家详细讲解有关Oracle数据库中索引的常见执行计划是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
今天主要介绍下Oracle索引的常见执行计划:
INDEX FULL SCAN:索引的全扫描,单块读,有序
INDEX RANGE SCAN:索引的范围扫描
INDEX FAST FULL SCAN:索引的快速全扫描,多块读,无序
INDEX FULL SCAN(MIN/MAX):针对MAX(),MIN()函数的查询
INDEX SKIP SCAN:查询条件没有用到组合索引的第一列,而组合索引的第一列重复度较高时,可能用到。
这里用简单的测试案例,体会下索引使用这些执行计划的场景。
1. 准备测试环境
创建测试表和索引:
drop table test_objects; create table test_objects as select * from all_objects; create index idx_test_objects_1 on test_objects(owner, object_name, subobject_name); create index idx_test_objects_2 on test_objects(object_id); desc test_objects;
查看测试表上的索引信息:
select index_name, column_name, column_position from user_ind_columns where table_name = 'TEST_OBJECTS';
分析表并清空测试环境的shared_pool和buffer_cache:
analyze table test_objects compute statistics; alter system flush shared_pool; alter system flush buffer_cache;
2. 准备SQL语句
根据不同执行计划的场景,编写SQL语句:
--INDEX RANGE SCAN(索引的范围扫描) SELECT owner, object_name FROM test_objects WHERE owner = 'SYS' AND object_name = 'DBMS_OUTPUT'; --INDEX SKIP SCAN(针对MAX(),MIN()函数的查询) SELECT owner, object_name FROM test_objects WHERE object_name = 'DBMS_OUTPUT'; --INDEX FAST FULL SCAN(索引的快速全扫描,多块读,无序) SELECT owner, object_name FROM test_objects; --INDEX FULL SCAN(索引的全扫描,单块读,有序) SELECT owner, object_name FROM test_objects order by 1, 2; --INDEX FULL SCAN (MIN/MAX)(针对MAX(),MIN()函数的查询) SELECT max(object_id) FROM test_objects;
3. 实验论证
结果如下:
(1) INDEX RANGE SCAN
set autotrace traceonly SELECT owner, object_name FROM test_objects WHERE owner = 'SYS' AND object_name = 'DBMS_OUTPUT';
(2) INDEX SKIP SCAN
SELECT owner, object_name FROM test_objects WHERE object_name = 'DBMS_OUTPUT';
(3) INDEX FAST FULL SCAN
SELECT owner, object_name FROM test_objects;
(4) INDEX FULL SCAN
SELECT owner, object_name FROM test_objects order by 1, 2;
(5) INDEX FULL SCAN (MIN/MAX)
SELECT max(object_id) FROM test_objects;
关于Oracle数据库中索引的常见执行计划是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
索引
测试
查询
常见
函数
数据
数据库
有序
内容
场景
文章
更多
环境
知识
篇文章
范围
语句
准备
组合
不同
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
安卓手机进服务器
阿里云服务器自己装数据库
株洲软件开发中职学校
证券行业软件开发 面试题
数据库云扩展
喀什软件开发行业标准
怎样快速学会网络技术
怎么租用服务器注册登录跨境电商
陕西先通网络技术学校官网
学软件开发要学黑客的技术吗
做互联网科技好做吗
天地软件园 网络安全 公司
ibm服务器的电源
附加数据库进度一直显示正在执行
上海黑马互联网科技有限公司
星云数据库安全
64核服务器
递归 数据库
苹果手机的系统数据库以删除吗
360网络安全周
怎么改服务器IP
网站建设做软件开发吗
oracle数据库安装官网
udisoft服务器无法使用
软件开发团队与选题
西安外事学院网络安全宣传周
服务器跑代码
网络安全攻防保卫战
常州运营网络技术市场价格
苹果手机的系统数据库以删除吗