码迷,mamicode.com
首页 > 其他好文 > 详细

温故而知新之:IUS、IFS、IFFS

时间:2018-05-30 12:40:11      阅读:110      评论:0      收藏:0      [点我收藏+]

标签:INDEX SCAN

IFS: 索引全扫描这里要注意的一点就是不需要扫描所有branch的分支块,因为叶子块与叶子块之间有双向指针,所以找到最左边的叶子块,就可以依序扫描。所以这里可以有

两个结论:1 索引键值是排序的,不需要额外对索引键值再一次order 2 通常情况下依序读取则是单块读,因为多块离散读,你就满足不了依序这个条件了。3 通常情况IFS不建议再回表,所以索引全扫描更适合: 1 SQL查询列全在索引键值里,如果隐式对数据的排序有要求,那么索引的键值列的顺序也最好设计合理。order a b c ------ index (a,b,c)

IFFS: 通常IFFS都会拿来与IFS进行比较,那么下面我们来小计一下区别:

1 IFFS 只适用于CBO 2 IFFS使用多块读,并且可以并行执行
3 IFFS执行结果不一定有序,这扫描非以索引键值逻辑结构为准,而是以存储块的物理结构为准。这是逻辑与物理的概念。假如:物理上的两个相邻的索引叶子块A,B,在索引逻辑结构里对应A1,B1叶子块,那么此时,A1,B1在逻辑索引结构里就未必是相邻的。

那么IFFS中索引键,包含了SQL查询访问的所有字段,如果在IFFS基础上加了order by,则可能会变成IFS或FTS

IUS和IRS:

IUS 是索引唯一扫描,唯一就代表扫描到指定的索引键值就立马停止扫描。所以IUS是等值扫描

IRS 范围扫描在你扫描到第一条键值数据的时候,还会继续扫描,直到扫描到不符合查询条件的键值为止才停止扫描。而IRS是不等值查询,所以通常情况下,同一个SQL IUS要比IRS成本要低。

温故而知新之:IUS、IFS、IFFS

标签:INDEX SCAN

原文地址:http://blog.51cto.com/2012ivan/2121940

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!