索引知识点:
1.离散度
2.mysql优化器:当离散度很低,查询全表与通过索引查询时间差不多,则不会通过索引查询
2.联合索引最左匹配:
alter table xx add index ‘aa’(‘name’,‘phone’)
检索时,会先根据name进行索引,找到下层,在通过phone查找
如果查询语句中没有name,则用不到索引
3.explain select * from xx where name='aa' and phone ='11111xx'
explain中显示rows,代表查找的行数
3.联合索引:比如创建了index(a,b,c),相当于创建index(a),index(a,b),index(a,b,c)
当通过b,c查询时,用不到索引
4.覆盖索引:查询的数据在索引中存在时,不需要去数据库中查询,大大提高了消息,explain 中extra=from index
比如:index('name','phone')
select name,phone from xx where name='xx'
注意点:
当查询类型为字符类型,用一个数字去查询,会发生一个类型的隐士转换,导致用不到索引
索引优化手段:
1.选择的索引列的长度不应该过长
2.where条件中not in和<>都无法使用索引
3.模糊匹配like abc%能用到索引--最左匹配,like%2673%用不到索引
4.尽量不要使用select *,写明具体查询字段
5.索引列不要参与计算:索引列参与计算,会导致索引失效
mysql索引
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 转载:http://blog.codinglabs.org/articles/theory-of-mysql-in...
- 本文主要讨论MySQL索引的部分知识。将会从MySQL索引基础、索引优化实战和数据库索引背后的数据结构三部分相关内...
- 索引概念和作用 索引是一种使记录有序化的技术,它可以指定按某列/某几列预先排序,从而大大提高查询速度(类似于汉语词...
- 2017年9月22日的我: 你好! 又到周末了,你的约会怎么样了?估计还是一个人“自由”的过吧? 虽然听起来像是在...