MySQL进阶知识6——索引介绍与创建

索引

简介

索引的价值,在于提高海量表的查询速度。

索引的算法有btree(二叉树算法) 、hash算法。


分类

  • 主键索引(primary key)

  • 唯一索引(unique)

  • 普通索引(index)

  • 全文索引(fulltext)


索引的代价

  1. 占用磁盘空间;
  2. 当我们进行读写操作,速度有一定的影响,但不大;
  3. 添加一个索引后,并不能解决所有的查询问题,需要分别给检索字段创建索引;
  4. 使用索引,是用空间换时间。



创建索引

主键索引


基本语法

三种形式:
这里写图片描述


特点

  • 一个表最多一个主键索引,可以是复合主键;
  • 主键索引效率高;



唯一索引


基本语法

  1. 在创建表的时候,直接指定唯一索引
    这里写图片描述

  2. 创建表后,再指定唯一索引
    这里写图片描述


特点

  • 一个表,可以有多个唯一索引;
  • 查询的效率高;
  • 唯一索引的值,是不能重复,
    如果唯一索引字段规定了 not null , 则唯一索引的值还不能null



普通索引


基本语法

  1. 在创建表的时候,直接指定普通索引
    这里写图片描述

  2. 在创建表后,再指定
    这里写图片描述


特点

  • 一个表,可以有多个普通索引;
  • 当我们字段有重复的数据时,我们就应该使用普通索引;
  • 在实际的开发中,普通索引使用的最多



创建索引的规则

符合以下规则的字段,才适合创建索引。

1)较频繁的查询条件的字段;

2)唯一性好的字段;

3)更新不频繁的字段;

4)会出现在WHERE子句中的字段

猜你喜欢

转载自blog.csdn.net/lihaoen666/article/details/80015466