UUID
好处就是本地生成,不要基于数据库来了;不好之处就是,UUID 太长了、占用空间大,作为主键性能太差了;更重要的是,UUID 不具有有序性,会导致 B+ 树索引在写的时候有过多的随机写操作(连续的 ID 可以产生部分顺序写),还有,由于在写的时候不能产生有顺序的 append 操作,而需要进行 insert 操作,将会读取整个 B+ 树节点到内存,在插入这条记录后会将整个节点写回磁盘,这种操作在记录占用空间比较大的情况下,性能下降明显。
适合的场景:如果你是要随机生成个什么文件名、编号之类的,你可以用 UUID,但是常规业务不建议主键用 UUID 的。当然,万事无决定,毕竟还有分布式和雪花算法的概念
UUID作为唯一标识符,具备本地生成的优势,避免了对数据库的依赖。然而,其长度过长,占用空间大,作为主键时性能不佳,且缺乏有序性,影响B+树索引的写操作效率。尽管如此,在生成文件名或编号时,UUID仍是一个不错的选择。
748

被折叠的 条评论
为什么被折叠?



