Mysql 索引简介

索引可以加快查询速度并减少全表扫描。

哈希快速查找、数组排序、B+树1 0亿级。

MySQL InnoDB 使用 B+ 树,表是索引。

包含索引中的所有字段,辅助索引位于最左侧。

空间变化速度快,更新速度慢且功能无效。

自己掂量一下。

那些年被面试官怼的MySQL索引

结论:与B+树等数据结构相比,MySQL索引加快了数据检索速度,提高了查询效率。

1 .指数基础知识
定义:一种用于快速查找表数据的数据排序结构。

类比:快速查找图书目录中的章节。

功能:提高大量数据的搜索效率。

2 数据结构
B-Tree:多向搜索树,非叶子节点最多可以有M个子节点。

B+Tree:不存储非叶子节点数据,查询效率稳定,支持范围查询。

3 MyISAM 和 InnoDB 索引
MyISAM:B+树,叶子节点存储数据地址。

InnoDB:B+树,主键索引叶子节点存储数据,辅助索引叶子节点存储主键值。

4 指数类型
普通索引:加速访问,无唯一性。

唯一索引:保证唯一性。

主键索引:主键上的唯一索引。

组合索引:多列组合。

全文索引:文本内容的分词索引。

5 使用策略
适用场景:主键、常用查询列、通用函数列。

不适用场景:频繁增删改列、大量重复列、小表。

6 优点和缺点
优点:数据隔离、加速检索、优化连接、降低排名。

缺点:创建和维护成本、动态维护开销。

7 性能验证
创建测试表,输入数据并比较查询时间。

8 总结
主要原理:将数据结构排序为B+树。

主要区别:MyISAM存储地址,InnoDB存储数据或主键值。

优化管理:做出明智的选择,遵循原则,避免过度索引。

mysql主键和索引的区别是什么

主键是表中唯一的身份证。
每个表只能有一个,保证每一行不重复。
索引就像一本电话簿,可以帮助人们快速找到东西。
可能有多个,但可以重复。
如果不需要,不能为空。
主键不能为空;索引可以为空。
主键是逻辑存储的,索引是物理存储的。
主键是自动索引;但是,索引不是主键。
设计数据库时;请记住,主键可确保数据不混乱,索引可加快查询速度。
没有太多索引会减慢数据写入速度。