mysql学习笔记--数据库索引

时间:2023-03-10 03:30:44
mysql学习笔记--数据库索引

一、索引的优点:查询速度快

二、索引的缺点:

  1. 增、删、改(数据操作语句)效率低了

  2. 索引占用空间

三、索引类型:

  1. 普通索引

  2. 唯一索引(唯一键)

  3. 主键索引:只要主键就自动创建主键索引,不需要手动创建

  4. 全文索引,搜索引擎使用,mysql不支持中文的全文索引,我们通过sphinx去解决中文的全文索引

四、创建索引

  1. 创建普通索引

    a. 语法:create index 索引名 on 表名 (字段名)

        alter table 表名 add index [索引的名称] (列名)

    b. 创建表时添加索引

      create table t1(

        id int,

        name varchar(10),

        index ix_name (name)

      );

  2. 创建唯一索引

    a. 语法一:create unique index 索引名 on 表名 (字段名)

    b. 语法二:alter table 表名 add unique  [索引名] (列名)

    c. 创建表时添加唯一索引,和创建唯一键是一样的

五、删除索引

  1. 语法:drop index 索引名 on 表名

六、创建索引的原则

  1. 该列用于频繁搜索

  2. 该列用于排序

  3. 公共字段要创建索引

  4. 如果表中数据较少,不需要创建索引。mysql搜索索引的时间比逐条搜索数据的时间要长。

  5. 如果一个字段上的数据只有几个不同的值,该字段不适合索引,比如性别。