MySQL不推荐使用UUID/雪花ID作为主键的原因分析

MySQL

1个回答

写回答

Jessica888

2026-02-10 21:54

+ 关注

MySQL
MySQL

没那么复杂,MySQL 的索引数据结构采用的是 B+ 树。主键默认为聚簇索引。可以使用这个数据结构模拟工具体验:https://www.cs.usfca.edu/~galles/visualization/BPlusTree.html,试着手动插入一些数据就明白了。观察一下,按顺序插入时树的结构变化是否比非顺序插入时更大,这能帮助理解 B+ 树的工作原理。

B+树是什么?它就像给双向链表添加了一个目录。如果把数据库比作一本书,这个目录是按1.1、1.2、1.3这样的顺序组织方便,还是像2.4、6.8、4.1这样杂乱无章更实用?技术源于生活,生活如何便利,技术实现亦然。不必拘泥于数据结构或算法,它们皆为人所创。莫若谈些八股文章在顺序插入数据时,B+树能保持较平衡状态,插入开销小。但随机插入时,频繁的节点分裂与调整会增加操作成本,从而导致性能降低。UUID或雪花ID因随机性较强,数据插入时分布不均,会引发更多B+树调整,从而降低插入与查询效率。

举报有用(6分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号