第二章的知识大都是索引的基本知识,就没有写。
访问路径(执行计划)的成本很大程度取决于索引片的厚度,即谓词表达式确定的值域范围。索引片越厚,需要顺序扫描的索引页就越多,需要处理的索引记录也就越多,而最大的开销还是来自于增加对表的同步操作,每次表页读取需要10ms。
WHERE字句中的列就谓词,如果有足够简单的谓词的列就是匹配列。最后一个匹配列之后的列称为过滤列。
如:多列索引(A,B,C,D),WHERE A =: A AND B > :B AND C = :C,那么由于B是一个范围谓词,A,B就是匹配列,用来定义索引片。而C不用来定义索引片,是作为过滤列使用。不过,如果列B的谓词表达式是等值谓词(如IN),那么这三个列都可以用作匹配列。