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不仅 维护了这张表,还维护了索引。如下图:


浙公网安备 33010602011771号