Oracle count(*)是否走索引

php中文网
发布: 2016-06-07 17:29:09
原创
1541人浏览过

count(*)在平常工作中,使用到的频率很高,是否会走索引,对性能影响不小!但是不是所有的count(*)都能走索引!小记下

count(*)在平常工作中,,使用到的频率很高,是否会走索引,对性能影响不小!但是不是所有的count(*)都能走索引!小记下

create table t3

(

sid number not null primary key,

sno number,

sname varchar2(10)

)

tablespace test;

declare

maxrecords constant int:=100000;

i int :=1;

begin

for i in 1..maxrecords loop

insert into t3 values(i,i,'ocpyang');

end loop;

dbms_output.put_line(' 成功录入数据! ');

commit;

end;

/

declare

maxrecords constant int:=200000;

i int :=100001;

begin

for i in 100001..maxrecords loop

insert into t3(sid,sname) values(i,'ocpyang');

end loop;

dbms_output.put_line(' 成功录入数据! ');

commit;

end;

/

create index index_sno on t3(sno);

exec dbms_stats.gather_table_stats('SYS','T3',cascade=>TRUE);

***********

1.count

***********

SQL> set autotrace traceonly explain stat;

SQL> select count(*) from t3;

执行计划

----------------------------------------------------------

Plan hash value: 463314188

-------------------------------------------------------------------

| Id | Operation | Name | Rows | Cost (%CPU)| Time |

-------------------------------------------------------------------

| 0 | SELECT STATEMENT | | 1 | 2 (0)| 00:00:01 |

| 1 | SORT AGGREGATE | | 1 | | |

| 2 | TABLE ACCESS FULL| T3 | 82 | 2 (0)| 00:00:01 |

-------------------------------------------------------------------

Note

pollinations
pollinations

属于你的个性化媒体引擎

pollinations 203
查看详情 pollinations

-----

- SQL plan baseline "SQL_PLAN_27gnhfjz9qahj14fae16c" used for this statement

统计信息

----------------------------------------------------------

55 recursive calls

38 db block gets

521 consistent gets

19 physical reads

14676 redo size

527 bytes sent via SQL*Net to client

520 bytes received via SQL*Net from client

2 SQL*Net roundtrips to/from client

0 sorts (memory)

0 sorts (disk)

1 rows processed

--通过全表扫描实现的.

SQL> select count(*) from t1 where sid is not null;

执行计划

----------------------------------------------------------

Plan hash value: 1551730033

--------------------------------------------------------------------------------------

| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |

--------------------------------------------------------------------------------------

| 0 | SELECT STATEMENT | | 1 | 13 | 68 (0)| 00:00:01 |

| 1 | SORT AGGREGATE | | 1 | 13 | | |

| 2 | INDEX FAST FULL SCAN| SYS_C0023596 | 85899 | 1090K| 68 (0)| 00:00:01 |

--------------------------------------------------------------------------------------

Note

-----

- dynamic sampling used for this statement (level=2)

- SQL plan baseline "SQL_PLAN_4xztry6akgpqqf2d247c8" used for this statement

统计信息

----------------------------------------------------------

4 recursive calls

0 db block gets

310 consistent gets

0 physical reads

0 redo size

527 bytes sent via SQL*Net to client

520 bytes received via SQL*Net from client

2 SQL*Net roundtrips to/from client

0 sorts (memory)

0 sorts (disk)

1 rows processed

--通过索引实现的.

linux

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号