索引扫描
索引唯一扫描【Index unique scan】:
原理:从根节点到叶节点遍历整个树,直到查找到指定的条目,获取ROWID,然后根据ROWID查找到对应的数据行。
使用条件:WHERE条件中的列对应的是主键索引或唯一索引,而且该扫描方法只是用于单值扫描,也就是谓语为“=”。
hint:/*INDEX(table_alias index_name)*/
索引范围扫描【Index range scan】:
原理:查找开始值的时候采用的是遍历查找的方式,接着就是连续扫描leaf block直到查找完所有要求范围内的ROWID。
使用条件:需要返回一定范围数据,如>,<,>=,between,like,=等比较运算符。但是LIKE使用了‘%ABC’和通配符类型,不会使用索引范围扫描,因为条件太宽泛,以致于难以定位开始值。