我们之前学习了表,知道数据库中的数据存储在数据库表中。
为了提高从表中检索数据的速度,有了索引。
简单来说,索引类似于书的目录,由表中的一个字段或多个字段生成的键组成。而这些键存储在数据结构(B-树或哈希表中)。
根据索引存储类型,可将索引分为B型树索引和哈希索引。比如,mysql 8.0默认的InnoDB存储引擎支持B型树索引。
根据创建索引的方式,分为自动索引和手动索引。
自动索引:在数据库表里设置完整性约束时,该表会被系统自动创建索引
手动索引:手动在表上创建索引
接下来,通过三种方法介绍手动创建索引:
1、创建表的同时创建索引
2、在已经存在的表上创建索引
3、通过ALTER TABLE创建索引
创建索引,就是在表的一个字段或多个字段上建立索引。
1、创建表的同时创建索引
查询索引
2、在已经存在的表上创建索引
3、通过ALTER TABLE创建索引
如果设置主键或唯一完整性约束时,系统会自动创建唯一索引。
唯一索引:限制索引的值必须唯一 SQL语句从 INDEX变成了UNIQUE INDEX
这里还有一点需要注意,就是针对数据类型CHAR,VARCHAR和TEXT,需要采用全文索引!并且只有在存储引擎为MyISAM的数据库表上才能创建全文索引。
全文索引:默认情况下,索引执行方式不区分大小写;若关联字段为二进制数据类型,则区分大小写。
以上都是命令行的方法,通过sqlyog操作相对简单。
删除索引:删除表中已经创建的索引以提高表的更新速度,防止影响数据库的性能。
通过命令行
通过sqlyog