在数据表中对字段建立索引将大大提高查询的速度:
例如: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 和 <> 操作
时间: 2024-10-04 15:16:55