面试通关特训营打卡第一天 ✅

2024 - 12 - 24

大家好,我是无情的前端试炼师。

作为一名前端狗,踩后端的领域简直像是参加邻居家孩子的生日派对:尴尬而不失礼貌。

昨天正好参加了面试鸭最近新出的面试通关特训营,第一天的任务就是完成以下三道题目:

1)MySQL InnoDB 引擎中的聚簇索引和非聚簇索引有什么区别?

2)MySQL 的存储引擎有哪些?它们之间有什么区别?
3)MySQL 的索引类型有哪些?

我简单通俗地说下我自己的想法与总结,涉世不深,大家不喜勿喷 ~

MySQL InnoDB 引擎中的聚簇索引和非聚簇索引有什么区别?

聚簇索引(Clustered Index)和非聚簇索引(Non-Clustered Index)的区别?通俗点说:

1)聚簇索引是数据库的“硬盘快递小哥”,直接把数据和索引装在一块包裹送到你手里。一张表只能有一个聚簇索引,通常它是主键。

2)非聚簇索引则是“快递柜通知小哥”,它会告诉你数据在哪个快递柜里,然后你得跑过去取。

举个例子,假设你是饭店老板,聚簇索引就是菜单上的主菜编号(主键),直接告诉服务员上哪道菜;非聚簇索引则是“甜品推荐”,告诉你甜品的位置,你还得看完位置后再叫服务员。

MySQL 的存储引擎有哪些 ? 它们之间有什么区别 ?

MySQL 的存储引擎就是一群竞争激烈的选秀选手:

1)InnoDB:稳重大哥,支持事务,靠 ACID 特性让你数据存储放心。

2)MyISAM:轻量级小弟,事务不管,查询快得飞起,适合静态数据表。

3)Memory:内存男孩,快得像 SSD,但断电就失忆。

4)CSV:文艺青年,直接写 CSV 文件,适合数据迁移,但功能相当“朴素”。

5)Archive:长存之王,只写不删,查询堪比考古。

我的建议是:95% 的场景用 InnoDB,大不了 MyISAM 做个备胎,但别全指望 Memory,内存跑光了你会心跳加速。

MySQL 的索引类型有哪些 ?

作为前端写 CSS 的我,当初听到“索引”时第一反应是 z-index,后来才知道 MySQL 索引还挺像前端的 DOM 结构树——别问为什么,我自己也蒙。

MySQL 的索引分这几类:

1)普通索引:能帮你快速找到值,像搜索引擎的“关键词匹配”。

2)唯一索引:普通索引的高冷版,不允许重复,像独一无二的身份证号。

3)全文索引:偏爱 MyISAM 的大文豪,擅长匹配长文本。

4)复合索引:一箭多雕,多个列一起用,性能杠杠的。

](![image
0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
KINNONG
下载 APP