1.索引的概念

索引是数据库管理系统中用于提高查询速度的一种数据结构。

2.索引的结构类型

a. B-Tree索引:B树索引是MySQL中最常见的索引类型,适用于大部分场景。它支持全值匹配、范围查询和前缀匹配。

b. 哈希索引:哈希索引是一种基于哈希表实现的索引,它支持全值匹配,但不支持范围查询和前缀匹配。在MySQL中,哈希索引主要应用于MEMORY存储引擎。

c. 全文索引:全文索引是一种用于文本数据模糊查询的特殊索引,它基于倒排索引实现。在MySQL中,全文索引主要应用于MyISAM和InnoDB存储引擎。

3.b-tree 与 b+tree 的区别

b-tree: a.关键字和记录放在一起

           b.越靠近根节点的记录查询速度越快

b+tree: a.非叶子节点中只有关键字和指向下一个节点的索引,记录只放在叶子节点中

            b.查询都需要从根节点走到叶子节点,叶子节点还要进行关键字的比较,每个记录的查询时间基本相同

4.表结构索引分类

a.主键:primary key,又被称为聚簇索引,建议每张表都应该创建索引,否则mysql 会在表中自动创建隐式主键。

b.唯一索引:unique index,唯一索引与主键的区别是主键不可以为空,唯一索引可以为空。

c.普通索引与联合索引:index,可以是一个字段,也可以是多个字段组成,联合索引查询时应依据最左原则,根据索引字段的顺序进行查询。

d.外键:foreign key,外键的约束性比较强,建议合理使用。

5.索引的优缺点

优点:a.提高查询速度:索引可以显著提高数据库查询速度。

   b.确保数据唯一性和引用完整性:通过使用主键和外键索引,可以确保数据的唯一性和引用完整性

缺点:a.增加存储空间和维护成本:索引会占用额外的存储空间,并增加数据更新和维护的成本。

   b.影响写操作性能:由于在插入、更新和删除操作时需要维护索引,索引可能会降低写操作的性能。

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: mysql