没有Where条件下group by走索引
C:\Users\Administrator>sqlplus /nolog SQL*Plus: Release 11.1.0.7.0 - Production on 星期二 3月 23 21:42:27 2010 Copyright (c) 1982, 2008, Oracle. All rights reserved. SQL> conn /as sysdba
已连接。
SQL> create table t as select * from dba_objects; 表已创建。 SQL> insert into t select * from t; 已创建59262行。 SQL> / 已创建118524行。 SQL> / 已创建237048行。 SQL> / 已创建474096行。 SQL> / 已创建948192行。 SQL> commit; 提交完成。 SQL> alter session set "_gby_hash_aggregation_enabled"=false; 会话已更改。 SQL> set autot on
SQL> select owner,max(object_id) from t group by owner; OWNER MAX(OBJECT_ID)
------------------------------ --------------
ACMS 59869
DBSNMP 11991
EXFSYS 53969
XXXX 58952
ORACLE_OCM 11757
OUTLN 5724
PUBLIC 53918
SYS 59884
SYSTEM 12528
TSMSYS 5185
WMSYS 12520 已选择11行。 执行计划
----------------------------------------------------------
Plan hash value: 1476560607 ---------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
---------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1679K| 48M| 7805 (5)| 00:01:34 |
| 1 | SORT GROUP BY | | 1679K| 48M| 7805 (5)| 00:01:34 |
| 2 | TABLE ACCESS FULL| T | 1679K| 48M| 7573 (2)| 00:01:31 |
--------------------------------------------------------------------------- Note
-----
- dynamic sampling used for this statement 统计信息
----------------------------------------------------------
0 recursive calls
0 db block gets
27669 consistent gets
0 physical reads
0 redo size
683 bytes sent via SQL*Net to client
416 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
1 sorts (memory)
0 sorts (disk)
11 rows processed SQL> create index t_idx on t (owner,object_id); 索引已创建。 SQL> select owner,max(object_id) from t group by owner; OWNER MAX(OBJECT_ID)
------------------------------ --------------
ACMS 59869
DBSNMP 11991
EXFSYS 53969
XXXX 58952
ORACLE_OCM 11757
OUTLN 5724
PUBLIC 53918
SYS 59884
SYSTEM 12528
TSMSYS 5185
WMSYS 12520 已选择11行。 执行计划
----------------------------------------------------------
Plan hash value: 1476560607 ---------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
---------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1679K| 48M| 7805 (5)| 00:01:34 |
| 1 | SORT GROUP BY | | 1679K| 48M| 7805 (5)| 00:01:34 |
| 2 | TABLE ACCESS FULL| T | 1679K| 48M| 7573 (2)| 00:01:31 |
--------------------------------------------------------------------------- Note
-----
- dynamic sampling used for this statement 统计信息
----------------------------------------------------------
5 recursive calls
0 db block gets
27739 consistent gets
26 physical reads
0 redo size
683 bytes sent via SQL*Net to client
416 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
1 sorts (memory)
0 sorts (disk)
11 rows processed SQL> alter table t modify owner not null; 表已更改。 SQL> select owner,max(object_id) from t group by owner; OWNER MAX(OBJECT_ID)
------------------------------ --------------
ACMS 59869
DBSNMP 11991
EXFSYS 53969
XXXX 58952
ORACLE_OCM 11757
OUTLN 5724
PUBLIC 53918
SYS 59884
SYSTEM 12528
TSMSYS 5185
WMSYS 12520 已选择11行。 执行计划
----------------------------------------------------------
Plan hash value: 847563073 -------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
-------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1679K| 48M| 1790 (16)| 00:00:22 |
| 1 | SORT GROUP BY | | 1679K| 48M| 1790 (16)| 00:00:22 |
| 2 | INDEX FAST FULL SCAN| T_IDX | 1679K| 48M| 1558 (3)| 00:00:19 |
------------------------------------------------------------------------------- Note
-----
- dynamic sampling used for this statement 统计信息
----------------------------------------------------------
146 recursive calls
0 db block gets
5705 consistent gets
5601 physical reads
0 redo size
683 bytes sent via SQL*Net to client
416 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
5 sorts (memory)
0 sorts (disk)
11 rows processed SQL> alter table t modify owner null; 表已更改。 SQL> alter table t modify object_id not null; 表已更改。 SQL> select owner,max(object_id) from t group by owner; OWNER MAX(OBJECT_ID)
------------------------------ --------------
ACMS 59869
DBSNMP 11991
EXFSYS 53969
XXXX 58952
ORACLE_OCM 11757
OUTLN 5724
PUBLIC 53918
SYS 59884
SYSTEM 12528
TSMSYS 5185
WMSYS 12520 已选择11行。 执行计划
----------------------------------------------------------
Plan hash value: 847563073 -------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
-------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1679K| 48M| 1790 (16)| 00:00:22 |
| 1 | SORT GROUP BY | | 1679K| 48M| 1790 (16)| 00:00:22 |
| 2 | INDEX FAST FULL SCAN| T_IDX | 1679K| 48M| 1558 (3)| 00:00:19 |
------------------------------------------------------------------------------- Note
-----
- dynamic sampling used for this statement 统计信息
----------------------------------------------------------
146 recursive calls
0 db block gets
5705 consistent gets
0 physical reads
0 redo size
683 bytes sent via SQL*Net to client
416 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
5 sorts (memory)
0 sorts (disk)
11 rows processed SQL> select * from v$version; BANNER
-------------------------------------------------------------------------------- Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - Production
PL/SQL Release 11.1.0.7.0 - Production
CORE 11.1.0.7.0 Production
TNS for 32-bit Windows: Version 11.1.0.7.0 - Production
NLSRTL Version 11.1.0.7.0 - Production
转自《http://www.itpub.net/thread-1282845-1-1.html》
没有Where条件下group by走索引的更多相关文章
- mysql中关于关联索引的问题——对a,b,c三个字段建立联合索引,那么查询时使用其中的2个作为查询条件,是否还会走索引?
情况描述:在MySQL的user表中,对a,b,c三个字段建立联合索引,那么查询时使用其中的2个作为查询条件,是否还会走索引? 根据查询字段的位置不同来决定,如查询a, a,b a,b, ...
- varchar int 查询 到底什么情况下走索引?
一个字符类型的.一个int类型的,查询的时候到底会不会走索引,其实很多工作了几年的开发人员有时也会晕,下面就用具体事例来测试一下. 1. 准备工作 先准备2张表,以备后续测试使用. 表1:创建表te ...
- SQL IN 一定走索引吗?
摘要 IN 一定走索引吗?那当然了,不走索引还能全部扫描吗?好像之前有看到过什么Exist,IN走不走索引的讨论.但是好像看的太久了,又忘记了.哈哈,如果你也忘记了MySQL中IN是如何查询的,就来复 ...
- mysql数据库--explain(查询表是否走索引)各个字段含义
1.1 id列 数字越大越先执行,如果说数字一样大,那么就从上往下依次执行,id列为null的就表是这是一个结果集,不需要使用它来进行查询. 1.2 select_type列 常见的有: ◆ simp ...
- sql查询未走索引问题分析之查询数据量过大
前因: 客户咨询,有一个业务sql(代表经常被执行且重要),全表扫描在系统占用资源很高(通过ash报告查询得到信息) 思路: 1.找到sql_text,sql_id 2.查看执行计划 3.查询sql涉 ...
- Mysql数据库索引IS NUll ,IS NOT NUll ,!= 是否走索引
声明在前面 总结就是 不能单纯说 走和不走,需要看数据库版本,数据量等 ,希望不要引起大家的误会,也不要被标题党误导了. 1 数据库版本: 2 建表语句 CREATE TABLE s1 ( id IN ...
- Oracle中查询走索引的情况
1.对返回的行无任何限定条件,即没有where子句 2.未对数据表与任何索引主列相对应的行限定条件例如:在City-State-Zip列创建了三列复合索引,那么仅对State列限定条件不能使用这个索引 ...
- 这个大表走索引字段查询的 SQL 怎么就成全扫描了,我TM人傻了
今天收到运营同学的一个 SQL,有点复杂,尤其是这个 SQL explain 都很长时间执行不出来,于是我们后台团队帮忙解决这个 SQL 问题,却正好发现了一个隐藏很深的线上问题. select a. ...
- 阿里面试题: (a,b,c)组合索引, 查询语句select...from...where a=.. and c=..走索引吗?
面试官:(a,b,c)组合索引,查询语句select...from...where a=.. and c=..走索引吗应聘者: 最佳左前缀法,如果索引了多列,要遵守最左前缀法则,否则索引失效 按最左前 ...
随机推荐
- Arch tty终端使用中文,Fbterm控制台配置
参考: http://www.linuxidc.com/Linux/2011-08/40746p2.htm 安装: # pacman -S fbterm fcitx-fbterm # sudo gpa ...
- 安装小企鹅fcitx输入法
##编辑~/.xinitrc文件,添加:export GTK_IM_MODULE=fcitx export QT_IM_MODULE=fcitx export XMODIFIERS="@im ...
- ARM的QT phonon 的移植
Phonon是QT提供的一套多媒体框架,提供多媒体播放图形界面和回放的功能,QT也是通过phonon来实现跨平台的多媒体播放.应用程序不需要关心多媒体播放到底是由什么实现的(如gstreamer.xi ...
- 前端测试框架 jasmine 的使用
最近的项目在使用AngulaJs,对JS代码的测试问题就摆在了面前.通过对比我们选择了 Karma + jasmine ,使用 Jasmine做单元测试 ,Karma 自动化完成,当然了如果使用 K ...
- Flex 中文字体终极解决方案
一直以来Flash对中文的支持就不是很好,很多人都发现很多汉字在Flex中无法设置粗体,就是其中一个表现,经过一晚上的折腾,终于突破了这个难题,其实,答案就在Adobe的官方教程里,只能怪自己英文水平 ...
- 【PL/SQL练习】基本的PL/SQL语句
1.无变量匿名快 begin dbms_output.put_line('Hello World'); end; 2.有变量的匿名块,定义变量: declare v_ename ); v_sal ,) ...
- Swift学习—字符串&数组&字典
字符串 OC和Swift中字符串的区别 在OC中字符串类型时NSString,在Swift中字符串类型是String OC中字符串@"",Swift中字符串"" ...
- Acronis Server备份Linux系统
Acronis Server备份Linux系统 前段时间用Acronis Disk Director Suite解决了Thinkpad笔记本在win7的分区问题(http://chenguang.bl ...
- [Hibernate 1]Hibernate的环境搭建
一.Hibernate是什么 直接使用JDBC操作数据库的步骤很繁琐,JDBC操作的是关系型数据库,而我们用JAVA开发程序,则使用面向对象的思想.Hibernate正是在这两种不同的模型之间建立关联 ...
- 注册码 myeclipse6.5-6.8
package controllersli; import java.io.BufferedReader; import java.io.IOException; import java.io.Inp ...