Oracle性能分析6:数据访问方式之索引扫描(二)

2015-07-24 10:36:56 来源: 作者: 浏览: 5
------------- SELECT STATEMENT, GOAL = ALL_ROWS SORT AGGREGATE INDEX FULL SCAN (MIN/MAX) IDX_HISTORYALARM$QUERYID

由于索引本身已经排序,因此在计算最大最小值时只需要很小的代价。

索引跳跃扫描

当查询条件中带有符合索引中的列,但是不包含前导列时,就可能导致索引跳跃扫描。数据库将一个复合索引拆分为多个逻辑子索引,符合索引前导列的不同值决定逻辑子索引的数量,即前导列的不同值越少,索引跳跃式扫描的性能就越好。

select value from t3 where value = 'test'

	DESCRIPTION							OBJECT NAME
-----------------------------------------------------------------------
SELECT STATEMENT, GOAL = ALL_ROWS
 INDEX SKIP SCAN						IDX_T3_COMBINE

索引快速全扫描

当索引本身包含查询中指定的所有列时,Oracle执行索引快速全扫描。索引快速全扫描和索引全扫描的区别在于:索引全扫描使用单块读操作,而索引快速全扫描使用多块读。这种扫描不能用于避免排序,因为数据块是通过无序的多块读取来读取的。

select queryid from historyalarm

	DESCRIPTION							OBJECT NAME
-----------------------------------------------------------------------
SELECT STATEMENT, GOAL = ALL_ROWS
 INDEX FAST FULL SCAN					IDX_HISTORYALARM$QUERYID

-->

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: