学会MySQL索引

就一块儿来聊一聊MySQL索引。

什么是索引?

百度百科是这样描述的:数据库

索引是为来加速对表中数据行中的检索而建立的一种分散的数据结果,时针对表而创建的,它是由数据页面之外的索引页面组成,每一个索引页中的行都含有逻辑指针,以便加速检索物理数据spa

其实,索引的概念你们都很清楚,也知道索引可以提高查询效率,但大部分童鞋在怎么建索引,建在哪些字段上有如下常见误解:指针

  • 新建表时不须要建索引,后续才添加索引索引

  • where条件后的字段均建索引效率

  • 简单SQL不须要索引,联合查询才须要索引百度

  • 联合索引的顺序是where条件后字段的前后顺序数据

  • 对于区分度小的字段上也新建索引,如状态,性别等字段等。查询

索引区分度

在说上述问题以前,咱们先来看看另外一个概念,就是区分度。block

区分度: 指字段在数据库中的不重复比去重

区分度在新建索引时有着很是重要的参考价值,在MySQL中,区分度的计算规则以下:

字段去重后的总数与全表总记录数的商。

相关文章
相关标签/搜索