我是靠谱客的博主 伶俐大叔,最近开发中收集的这篇文章主要介绍MySQL进阶-单列索引与联合索引,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

  • 单列索引:即一个索引只包含单个列。
  • 联合索引:即一个索引包含了多个列。

们先来看看 tb_user 表中目前的索引情况:

 在查询出来的索引中,既有单列索引,又有联合索引。

接下来,我们来执行一条SQL语句,看看其执行计划:

explain select id,phone,name from tb_user where phone = '17799990010' and name = '韩信';

 通过上述执行计划我们可以看出来,在and连接的两个字段 phone、name上都是有单列索引的,但是 最终mysql只会选择一个索引,也就是说,只能走一个字段的索引,此时是会回表查询的。

 紧接着,我们再来创建一个phone和name字段的联合索引来查询一下执行计划

create unique index idx_user_phone_name on tb_user(phone,name);

在业务场景中,如果存在多个查询条件,考虑针对于查询字段建立索引时,建议建立联合索引, 而非单列索引。

 

 

最后

以上就是伶俐大叔为你收集整理的MySQL进阶-单列索引与联合索引的全部内容,希望文章能够帮你解决MySQL进阶-单列索引与联合索引所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(58)

评论列表共有 0 条评论

立即
投稿
返回
顶部