oracle优化distinct,oracle 索引优化之distinct
11G R2环境:
--DISTINCT测试前的准备
drop table t purge;
create table t as select * from dba_objects;
update t set object_id=rownum;
alter table T modify OBJECT_ID not null;
update t set object_id=2;
update t set object_id=3 where rownum<=25000;
commit;
/****
在oracle10g的R2环境之后,DISTINCT由于其 HASH UNIQUE的算法导致其不会产生排序,其调整的 ALTER SESSION SET "_gby_hash_aggregation_enabled" = FALSE
****/
set linesize 1000
set autotrace traceonly
select distinct object_id from t ;
执行计划:
可以看出以上语句执行计划,占用内存1448k,逻辑读1276。
/*不过虽然没有排序,通过观察TempSpc可知distinct消耗PGA内存进行HASH UNIQUE运算,
接下来看看建了索引后的情况,TempSpc关键字立即消失,COST也立即下降许多,具体如下*/
--为T表的object_id列建索引
create index idx_t_object_id on t(object_id);
set linesize 1000
set autotrace traceonly
select /*+index(t)*/ distinct object_id from t ;
可以看出cost降低到525,走的索引,没有进行排序,逻辑读也降低了到176。
oracle优化distinct,oracle 索引优化之distinct相关推荐
- oracle查询慢怎么优化,Oracle查询优化-怎样建立索引优化下面的查询语句啊
下面是转换出来的查询语句 SELECT * FROM (SELECT "Project1"."C1" AS "C1", "Proj ...
- mysql优化varchar索引_MySQL优化--概述以及索引优化分析
一.MySQL概述 1.1.MySQL文件含义 通过如下命令查看 show variables like '%dir%'; MySQL文件位置及含义 名称 值 备注 basedir /usr/ 安装路 ...
- 数据库-优化-SQL及索引优化
SQL及索引优化 mysql安装与卸载(linux在线安装与卸载) 数据库版本选择 1.查看数据库的版本 select @@version; 2.准备数据 网址:https://dev.mysql.c ...
- mysql rtree_优化体系--MySQL 索引优化(full-text、btree、hash、rtree)
概述 目前大部分数据库系统及文件系统都采用B-Tree(B树)或其变种B Tree(B 树)作为索引结构.B Tree是数据库系统实现索引的首选数据结构.在MySQL中,索引属于存储引擎级别的概念,不 ...
- mysql 分段执行_19个MySQL优化技巧,索引优化这样做最有效!
- 点击上方"中国统计网"订阅我吧!- 声明:下面的优化方案都是基于" Mysql-索引-BTree类型 "01善用EXPLAIN 做MySQL优化,我们要善用 ...
- mysql索引优化分析_MySQL索引优化与分析(重要)
建表SQL CREATE TABLE staffs ( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR (24) NULL DEFAULT '' COM ...
- mysql加索引优化sql_MySQL添加索引优化SQL
在慢查询日志中有一条慢SQL,执行时间约为3秒mysql> SELECT -> t.total_meeting_num, -> r.voip_user_num -> FROM ...
- java7优化,七、索引优化分析
SQL性能下降的原因 查询语句写的不好 索引失效 关联查询太多 服务器调优及各个参数的的设置(缓冲.线程数等等) 常见的JOIN查询 1.SQL的执行顺序 手写的顺序: 真正机器执行的顺序: 2.七种 ...
- ElasticSearch基础杂烩-配置-索引-优化
2019独角兽企业重金招聘Python工程师标准>>> ElasticSearch基础杂烩-配置-索引-优化 博客分类: java 前言 ElasticSearch是一个基于Luce ...
- sql server修改索引名称_索引基本知识和索引优化
" 索引基本知识*哈希索引*组合索引*聚簇索引与非聚簇索引*覆盖索引*索引优化*索引监控*优化案例" 索引这个东西,个人的感觉是:平时大家都不怎么重视他,感觉哪个查询慢了就对那个列 ...
最新文章
- mysql 插入数据 自增长_MySQL ------ 插入数据(INSERT和insert select)(二十)
- 【Bootstrap】 框架 栅格布局系统设计原理
- 如何看屈曲因子_Abaqus 非线性屈曲分析方法
- spring循环依赖及解决方式_来探究一下Spring 循环依赖的三种方式
- 台式计算机技术参数响应表,联想台式电脑配置推荐及参数详情【图文】
- linux源代码存放在哪个目录_入门Linux,从了解Linux文件系统的目录结构开始
- 样条线怎么挤出平面_最速降线的故事
- Linux rpm 命令参数详解
- [原创]性能测试工程师试题
- Java 32位最新版 (Java SE 8)
- DWM1000 帧过滤代码实现
- 通达信接口的开发工具?
- Frank Pfenning
- GNURadio(一)
- Web安全-ReDos正则表达式的拒绝服务攻击
- emby,jellyfin,kodi系列
- 鸿蒙渊主线任务,《天下3》更新公告(版本2.0.848)
- HTML的相对位置和绝对位置
- 一次就让你学懂java运算符
- 编译原理chatpter04 文法的形式和文法的类型