29、主键使用自增ID还是UUID?

主键使用自增ID还是UUID?

推荐使用自增ID,不要使用UUID。

因为在InnoDB存储引擎中,主键索引是作为聚簇索引存在的,也就是说,主键索引的B+树叶子节点上存储了主键索引以及全部的数据(按照顺序),如果主键索引是自增ID,那么只需要不断向后排列即可,如果是UUID,由于到来的ID与原来的大小不确定,会造成非常多的数据插入,数据移动,然后导致产生很多的内存碎片,进而造成插入性能的下降。

总之,在数据量大一些的情况下,用自增主键性能会好一些。

关于主键是聚簇索引,如果没有主键,InnoDB会选择一个唯一键来作为聚簇索引,如果没有唯一键,会生成一个隐式的主键

相关推荐
这周也會开心3 小时前
Redis相关知识点
数据库·redis·缓存
小白爱运维3 小时前
MySQL升级8.0.44后登录报错-系统表不支持'MyISAM'存储引擎
数据库·mysql
json{shen:"jing"}3 小时前
1. 两数之和
前端·javascript·数据库
github.com/starRTC4 小时前
Claude Code中英文系列教程19:使用subagent子代理与创建自定义子代理【重要】
前端·javascript·数据库
Anastasiozzzz4 小时前
Redis的键过期是如何删除的?【面试高频】
java·数据库·redis·缓存·面试
北海屿鹿4 小时前
【MySQL】内置函数
android·数据库·mysql
qq_366086226 小时前
SQL Server 之 Full-Text Search 全文搜索
运维·服务器·数据库
李少兄6 小时前
数据库开发中的布尔表示:0 与 1 的语义规范
数据库·数据库开发
小王努力学编程6 小时前
LangChain——AI应用开发框架(核心组件1)
linux·服务器·前端·数据库·c++·人工智能·langchain
麦聪聊数据7 小时前
重构数据交付链路:基于 API 网关实现数据工程与业务分析的解耦
数据库·sql