没有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=..走索引吗应聘者: 最佳左前缀法,如果索引了多列,要遵守最左前缀法则,否则索引失效 按最左前 ...
随机推荐
- convert NameValueCollection/Dictionary<string, object> to JSON string
public static class WebExtension { public static T Decode<T>(this RequestBase res) { Type type ...
- android 多级下拉菜单实现教程
原创,如转载请标明链接:http://blog.csdn.net/q610098308/article/details/50333387 很多App,都有二级菜单出现,但android 本身实现的菜单 ...
- 使用python通过selenium模拟打开chrome窗口报错 出现 "您使用的是不受支持的命令行标记:--ignore-certificate-errors
#在程序前加上这段代码 from selenium import webdriver options = webdriver.ChromeOptions() options.add_experimen ...
- Tomcat源码分析——SERVER.XML文件的加载与解析
前言 作为Java程序员,对于Tomcat的server.xml想必都不陌生.本文基于Tomcat7.0的Java源码,对server.xml文件是如何加载和解析的进行分析. 加载 server.xm ...
- FusionCharts for Flex报错
1.昨天,我新建了一个Flex项目,并将FusionCharts组件添加进去了,但是Flex应用程序还是报错 具体错误如下: 2.但是,Flex项目已经导入FusionCharts.swc
- matlab 椭圆方程拟合
拟合椭圆首先要知道各个点的坐标,然和带入如下公式: x = [59 136 58 137 57 137 56 137 55 138 54 139 53 140 52 141 51 142 51 143 ...
- Django中级篇(下)
中间件 django 中的中间件(middleware),在django中,中间件其实就是一个类,在请求到来和结束后,django会根据自己的规则在合适的时机执行中间件中相应的方法. MIDDLEWA ...
- ORACLE 导空表结构
exp username/psd@sid file='E:\xx.dmp' tables=(xxx_%) ROWS=N 以下代码没什么用,我就乱写 set oracle_sid=ora11gsqlpl ...
- Spring Boot 内嵌Tomcat的端口号的修改
操作非常的简单,不过如果从来没有操作过,也是需要查找一下资料的,所以,在此我简单的记录一下自己的操作步骤以备后用! 1:我的Eclipse版本,不同的开发工具可能有所差异,不过大同小异 2:如何进入对 ...
- 学习总结 java 数据库 ResultSet 、PreparedStatement
package com.hanqi.test; import java.sql.*; public class jdbcTest { public static void main(String[] ...