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

mysql索引介绍

时间:2017-02-21 23:59:08      阅读:314      评论:0      收藏:0      [点我收藏+]

标签:失效   order by   文件   uniq   索引   join   select   create   nbsp   

在数据表中对字段建立索引将大大提高查询的速度:

例如:select * from mytable where username=‘admin‘ 如果在列username上建立了索引,只需要一次就可以找到该记录

 

一、mysql索引的类型:

1、普通索引

创建:create index indexname on mytable(username)

删除:drop index [indexname] on mytable

2、唯一索引

特点:索引列值必须唯一,但允许有null值

创建:create unique index indexname on mytable(username)

3、主键索引

特点:索引列值必须唯一,不允许有null值

4、组合索引

创建:create index indexname on mytable(id,username)

 

二、使用索引的时机

一般来说在where和join中出现的列要建立索引

但是mysql只在= < <= > >= between in 以及某些时候的like使用索引

 

三、使用索引的坏处

1、降低了增删改的速度

2、索引文件会占用磁盘空间

 

四、使用索引注意事项

1、索引不会包含有null值的列,所以建表时不要设置列的默认值为null

2、使用短索引

3、mysql查询只使用一个索引,如果在where中该字段使用了索引,那么在order by中就不会使用索引

4、使用like 时  like ‘%aa%‘不会使用索引而like ‘aa%‘会使用索引

5、不要在索引列上进行运算,这样会导致索引失效,全表扫描

6、不要使用not in 和 <> 操作

mysql索引介绍

标签:失效   order by   文件   uniq   索引   join   select   create   nbsp   

原文地址:http://www.cnblogs.com/hy87/p/6426963.html

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