口试官出的MySQL索引题目,这篇文章全给你办理!
MySQL数据库支持索引提醒成果,索引提醒成果就是我们可以表现的汇报优化器行使哪个索引,一样平常有下面两种环境也许行使到索引提醒成果(INDEX HINT):
这里我们接着上面的例子来讲授,起首,我们先为上面的t_index表添加几个索引;
接着,我们执行下面的语句;
你会发明这条语句就可以行使三个索引,这个时辰,我们可以表现的行使索引提醒来行使a这个索引,如下:
这样就表现的行使索引a了,假如这种方法偶然辰优化器照旧没有选择你想要的索引,那么,我们可以其它一种方法FORCE INDEX。
这种方法则必然会选择你想要的索引。 2.3 索引优化 Multi-Range Read 优化 MySQL5.6开始支持,这种优化的目标是为了镌汰磁盘的随机遇见,而且将随机遇见转化为较为次序的数据会见,这种优化合用于range、ref、eq_ref范例的查询。 Multi-Range Read 优化的甜头:
我们可以行使参数optimizer_switch中的标志来节制是否开启Multi-Range Read 优化。下面的方法将配置为老是开启状态:
Index Condition Pushdown(ICP) 优化 这种优化方法也是从MySQL5.6开始支持的,不支持这种方法之前,当举办索引查询时,起首我们先按照索引查找记录,然后再按照where前提来过滤记录。然而,当支持ICP优化后,MySQL数据库会在取出索引的同时,判定是否可以举办where前提过滤,也就是将where过滤部门放在了存储引擎层,大大镌汰了上层SQL对记录的索取。 ICP支持range、ref、eq_ref、ref_or_null范例的查询,当前支持MyISAM和InnoDB存储引擎。 我们可以行使下面语句开启ICP:
可能封锁:
当开启了ICP之后,在执行打算Extra可以看到Using index condition提醒。 3 索引的特点、利益、弱点及合用场景 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |