文辉考我的问题,有关这三个的特性,如果在面试过程中,个人见解可以答以下
icp MyQL数据库会在取出索引的同时,判断是否进行WHERE条件过滤,也就是把WHERE的部分过滤操作放在存储引擎层,在某些查询下,可以大大减少上层SQL对记录的索引从而提供整体性能
mrr 目的是为了减少磁盘的随机访问。并且将随机访问转换成较为顺序的数据访问。将随机IO按照主键进行牌勋,根据主键进行顺序查找
bka 对于多表join语句,用索引范文第二个join表时,用一个join buffer收集第一个操作对象生成的列值,通过bka构建好key,批量传给引擎层做索引查找,key 通过mrr接口(mrr目的是较为顺序)提交给引擎的。
百度了一下帖子,发现有很多详细的说明,暂时就不列出了,自个度娘去,大致简略的可以如上回答,如有意义,私信我