前提:使用system账户登录sql plus。

建表:

SQL> create table t2 as select * from dba_objects;

表已创建。

已用时间:  00: 00: 00.81
SQL> insert into t2 select * from t2; 已创建72695行。 已用时间: 00: 00: 00.98
SQL> insert into t2 select * from t2; 已创建145390行。 已用时间: 00: 00: 00.71
SQL> insert into t2 select * from t2; 已创建290780行。 已用时间: 00: 00: 02.40
SQL> commit; 提交完成。 已用时间: 00: 00: 00.00

不加索引时查询:

SQL> select * from t2 where object_id=99;

已选择8行。

已用时间:  00: 00: 00.03

执行计划
----------------------------------------------------------
Plan hash value: 1513984157 --------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
--------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 91 | 18837 | 2250 (1)| 00:00:27 |
|* 1 | TABLE ACCESS FULL| T2 | 91 | 18837 | 2250 (1)| 00:00:27 |
-------------------------------------------------------------------------- Predicate Information (identified by operation id):
--------------------------------------------------- 1 - filter("OBJECT_ID"=99) Note
-----
- dynamic sampling used for this statement (level=2) 统计信息
----------------------------------------------------------
5 recursive calls
0 db block gets
8331 consistent gets
0 physical reads
0 redo size
1774 bytes sent via SQL*Net to client
519 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
8 rows processed

添加索引后执行同样sql:

SQL> create index idx_t2_object_id on t2(object_id);

索引已创建。

已用时间:  00: 00: 00.73

SQL> select * from t2 where object_id=99;

已选择8行。

已用时间:  00: 00: 00.01

执行计划
----------------------------------------------------------
Plan hash value: 188336643 --------------------------------------------------------------------------------
---------------- | Id | Operation | Name | Rows | Bytes | Cost (%
CPU)| Time | --------------------------------------------------------------------------------
---------------- | 0 | SELECT STATEMENT | | 8 | 1656 | 12
(0)| 00:00:01 | | 1 | TABLE ACCESS BY INDEX ROWID| T2 | 8 | 1656 | 12
(0)| 00:00:01 | |* 2 | INDEX RANGE SCAN | IDX_T2_OBJECT_ID | 8 | | 3
(0)| 00:00:01 | --------------------------------------------------------------------------------
---------------- Predicate Information (identified by operation id):
--------------------------------------------------- 2 - access("OBJECT_ID"=99) Note
-----
- dynamic sampling used for this statement (level=2) 统计信息
----------------------------------------------------------
9 recursive calls
0 db block gets
90 consistent gets
2 physical reads
0 redo size
2236 bytes sent via SQL*Net to client
519 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
8 rows processed

对比表格:

  Cost consistent gets Elapsed
无索引 2250 8331 0.03s
有索引 12 90 0.01s

--2020年2月3日--

最新文章

  1. 监听页面上的checkbox是否选中
  2. VTK初学一,比较常见的错误1
  3. Android锁屏或灭屏状态下,快速按两次音量下键实现抓拍功能(1.2Framework层使用startService形式实现)
  4. hdu 5795
  5. 关于webpack.optimize.CommonsChunkPlugin的使用二
  6. tp-link便携式路由器固件升级方式
  7. url 传参写法
  8. MapReduce的一点理解
  9. News: Visual Studio Code support debugging Linux Apps
  10. SQL with(unlock)与with(readpast) (转)
  11. Linux的线程同步对象:互斥量Mutex,读写锁,条件变量
  12. 使用 C# 编程对RTF文档的支持
  13. R语言学习笔记(数据的读取与保存)
  14. poj 2688 Cleaning Robot bfs+dfs
  15. 使用Intel编译器获得一致的浮点数值计算结果
  16. .NET的微型Web框架 Nancy
  17. python 操作mysql数据库demo
  18. 开发JAVA9以上的项目时,出现ClassNotFoundException: javax.xml.bind.JAXBException的解决方法
  19. Linq to Entity 求最大小值Max/Min返回null的处理方法
  20. 把一个activity作为弹窗

热门文章

  1. Java容器类Collection,List,Set,Map.,Iterator,Collections工具类,Arrays工具类,Comparable
  2. Docker 搭建 RabbitMQ
  3. Java基础—控制流程语句(条件语句与循环结构)
  4. 运用cookie实现记住密码自动登陆:
  5. peewee的简单使用
  6. c++知识点 2006-10-14 12:59
  7. 本blog的地图
  8. Oracle和Mysql分页的区别
  9. bluetoothctl命令提示No default controller available
  10. JavaScript学习系列博客_32_JavaScript 包装类