建表、写接口、起文件名时,常会看到 f47ac10b-58cc-4372-a567-0e02b2c3d479 这样一串带横杠的字符。它不是乱码,而是 UUID(通用唯一识别码,Universally Unique Identifier)。
一、UUID 是什么
UUID 是一串 32 位十六进制字符、用连字符分 5 段,全局重复概率极低,低到"可以当唯一"用。常见的 v4 版本靠随机数生成,所以不需要中心服务器分配,任何机器都能自己造一个。
二、UUID 和自增 ID 的区别
- 自增 ID(1、2、3…):简单、紧凑、好排序,但分布式多库时容易撞号,且会暴露数据量;
- UUID:各端独立生成不冲突,适合分布式、合并数据、公开 URL 防遍历,但占空间大、无序。
💡 怎么选:内部表可用自增;要对外的 ID、分布式主键、文件名、会话标识,用 UUID 生成器 更稳妥。
三、什么时候该用 UUID
需要"在不知道别人生成了什么"的前提下保证不重复时,UUID 最合适:数据库主键、订单号、上传文件的存储名、设备/会话标识、API token 等。
四、怎么生成一个
打开 UUID 生成器,填数量一键生成,支持批量与复制,全部在浏览器本地完成,不联网、不上传。
五、常见问题
Q:UUID 会重复吗?
理论上可能,但 v4 的 122 位随机空间极大,实际可视为不会重复。
Q:GUID 和 UUID 一样吗?
基本是一回事,GUID 是微软对 UUID 的叫法。
广告位
此处为广告展示区,站点主粘贴发布商 ID 后自动展示。
此处为广告展示区,站点主粘贴发布商 ID 后自动展示。