操作系统:rhel 5.4 x86,数据库:Oracle 11g R2,实验说明:该实验是为了说明B-Tree索引性能优于BitMap索引的情况。 从一致性读
一、实验说明:
操作系统:rhel 5.4 x86
数据库:Oracle 11g R2
实验说明:该实验是为了说明B-Tree索引性能优于BitMap索引的情况。
Oracle B树索引简介(B-Tree Index)
浅析Oracle B-Tree index搜索原理
Oracle索引之B-Tree和Bitmap索引对比
从平衡树到oracle B-Tree索引的原理探索
二、实验操作:
首先创建一张t_btree表,并建立B-Tree索引,索引键是object_id:
SQL> create table t_btree as select * from dba_objects;
Table created.
SQL> create index ind_tree on t_btree(object_id);
Index created.
执行两次下面的查询语句,并显示执行计划:
SQL> set autotrace traceonly;
SQL> select * from t_btree where object_id=9899;
Execution Plan
----------------------------------------------------------
Plan hash value: 447474086
----------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
----------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 207 | 2 (0)| 00:00:01 |
| 1 | TABLE ACCESS BY INDEX ROWID| T_BTREE | 1 | 207 | 2 (0)| 00:00:01 |
|* 2 | INDEX RANGE SCAN | IND_TREE | 1 | | 1 (0)| 00:00:01 |
----------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
KGOGOMall 是一套采用 Php + MySql 开发的基于 WEB 应用的 B/S 架构的B2C网上商店系统。具有完善的商品管理、订单管理、销售统计、新闻管理、结算系统、税率系统、模板系统、搜索引擎优化,数据备份恢复,会员积分折扣功能,不同的会员有不同的折扣,支持多语言,模板和代码分离等,轻松创建属于自己的个性化用户界面。主要面向企业和大中型网商提供最佳保障,最大化满足客户目前及今后的独立
0
2 - access("OBJECT_ID"=9899)
Note
-----
- dynamic sampling used for this statement (level=2)
Statistics
----------------------------------------------------------
312 recursive calls
0 db block gets
108 consistent gets
289 physical reads
0 redo size
1404 bytes sent via SQL*Net to client
419 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 * from t_btree where object_id=9899;
Execution Plan
----------------------------------------------------------
Plan hash value: 447474086
----------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
----------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 207 | 2 (0)| 00:00:01 |
| 1 | TABLE ACCESS BY INDEX ROWID| T_BTREE | 1 | 207 | 2 (0)| 00:00:01 |
|* 2 | INDEX RANGE SCAN | IND_TREE | 1 | | 1 (0)| 00:00:01 |
----------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
2 - access("OBJECT_ID"=9899)
Note
-----
- dynamic sampling used for this statement (level=2)
Statistics
----------------------------------------------------------
0 recursive calls
0 db block gets
4 consistent gets
0 physical reads
0 redo size
1404 bytes sent via SQL*Net to client
419 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 * from t_bmap where object_id=9899;
Execution Plan
----------------------------------------------------------
Plan hash value: 3763176822
----------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
----------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 207 | 110 (0)| 00:00:02 |
| 1 | TABLE ACCESS BY INDEX ROWID | T_BMAP | 1 | 207 | 110 (0)| 00:00:02 |
| 2 | BITMAP CONVERSION TO ROWIDS| | | | | |
|* 3 | BITMAP INDEX SINGLE VALUE | IND_MAP | | | | |
----------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
3 - access("OBJECT_ID"=9899)
Note
-----
- dynamic sampling used for this statement (level=2)
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号