mysql的索引

什么是索引?

索引是一种快速排序查找的数据结构。

 

 

 

 

 

 

 索引的优势

 

 索引的劣势

 

 

 

 

 

 

 索引的检索原理。

 

 

 

 

 

 

 

索引的创建?

create index idx_table_columnName on table(columnName) ,一张表最多不建立超过5个索引。高并发下最好建立联合索引。

 什么情况下创建索引?

1.主键自动创建唯一索引,(唯一索引:所在列值是唯一的不能重复,且允许为null。(mysql中null值可以出现多次 ),(但是主键不能为空。)

2.频繁查询的字段           2 .频繁作为查询条件的字段。

3.查询中与其他表关联的字段。外键关系建立索引

4.where 条件里用不到的字段不要创建索引。

5.单键/组合索引的选择问题:高并发下选择组合索引。

6.查询中排序的字段。排序的字段如果通过索引去访问,将大大提高排序速度。(我们说索引干两件事。检索和排序。)

7.查询中统计和分组的字段。

什么情况下不创建索引?

1.表中的数据量不大的情况下,因为索引也是有开销的。

2.表中列的重复数据多,比如性别,国籍。不能创建索引,

3.频繁更新的表不能创建索引。因为。不仅仅更新了数据还会更新索引。虽然索引提高查询效率,但是降低了更新效率,做完更新操作之后,mysql不仅 维护了这张表,还维护了索引。如下图:

 

 

posted @ 2020-09-11 17:09  xie风细雨  阅读(66)  评论(0)    收藏  举报