mysql索引介绍

Posted hy7873

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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索引介绍的主要内容,如果未能解决你的问题,请参考以下文章

MySQL索引介绍

简单介绍下MYSQL的索引类型

Mysql索引介绍及常见索引的区别

MySQL索引知识介绍

MySQL索引知识介绍

MYSQL的索引并发控制各种事务介绍以及日志管理