首页 > 代码库 > mysql索引介绍

mysql索引介绍

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

例如: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索引介绍