码迷,mamicode.com
首页 > 数据库 > 详细

mysql 索引建立

时间:2016-07-06 10:12:11      阅读:250      评论:0      收藏:0      [点我收藏+]

标签:

如何建立mysql索引?

创建索引原则

1、左前缀原则 :

  mysql索引匹配会从右匹配,到遇到( >  < between like)终止。如 我们建立索引(a,b,c,d), a = 1 and  b=2 and  c>3 and d=4。此时,索引d不会被用上。真正有效的索引(a, b, c)。如果把索引建立成(a,b,d,c), 则四个索引都能被用上

2、in 和  = 顺序可以随意。

  如可建立索引(a, b , c)任意顺序 ,  a = 1 and  c=2 and  b=3 , 三个索引依然有效。这是Mysql查询优化器优化成可以识别的索引形式

3、扩展索引,尽量不新建索引。

  如原有索引(a), 现在有需求,需要索引(a, b),这时你完全没必要去新建一个索引(a, b)。你只需要扩展你原有的索引(a),把它改为(a, b).此时, 既能保证原有的索引,也能达到新索引的目的。如 a = 1     a = 1 and b=2    这两个分别能走到索引(a),(a, b)

4、尽量选择区分度高的列作为索引

  区分度的公式是count(distinct X)/count(*), 表示字段不重复的比例,比例越大我们扫描的记录数越少,唯一键的区分度是1,而一些状态、性别字段可能在大数据面前区分度就是0

mysql 索引建立

标签:

原文地址:http://www.cnblogs.com/chenmo-xpw/p/5645788.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!