索引类型
-
Normal
:普通索引。加快查询速度。 -
Unique
:唯一索引。加快查询速度,并且可以限制列值的唯一性,允许为空 -
Full Text
:用于全文搜索的索引,用于搜索很长一篇文章的时候效果最好。
索引方式
- BTREE与HASH对比
当我们选择了HASH索引方式,保存后又变成了BTREE是为什么?
因为InnoDB引擎不支持HASH索引,只有Memory引擎支持HASH索引。
为什么从InnoDB引擎切换到Memory引擎,保存后还是InnoDB?
Memory引擎中使用的是内存表;InnoDB中表存放在磁盘中。我们建表时默认都是InnoDB,可以在建表时选择引擎类型。
那么MySQL常用的功能索引有哪些,分别在什么场景下使用呢?
(1)普通索引:仅加快查询速度
(2)唯一索引:加快查询速度,并且可以限制列值的唯一性,允许为空。
(3)主键索引:加速查询,列值唯一, 一个表只有1个,不允许有空值。
(4)组合索引:加速查询,多条件组合查询。
(5)覆盖索引:索引包含所需要的值,不需要“回表”查询, 比如查询两个字段,刚好是组合索引 的两个字段。
(6)全文索引:对内容进行分词搜索,仅可用于Myisam, 更多用ElasticSearch做搜索。