loften777 发表于 2024-3-22 15:06

mysql主键是使用id还是uuid

本身android开发,后来被叫去做java后台,没人带自己学,就网上查了下数据库设计,之前一直在意的一个是:

有的说数据库主键用 自增id,有的说用 uuid,还有雪花id,各有说法,

后面我就所有表的主键都用自增id,然后也有对应的表id用uuid,关联都是用uuid去查,这样是否有弊端?

我自己用的读取uuid代码:

public static String getUuid(){
      return UUID.randomUUID().toString().replaceAll("-", "");
    }

XinSong 发表于 2024-3-22 16:48

uuid还是有概率重复的。

anning666 发表于 2024-3-22 17:01

以MySQL为例,主键默认的就是自增ID
业务量不大的话,ID和UUID其实没什么区别~~~

JavaMagic 发表于 2024-3-22 17:08

保留自增ID,业务ID采用UUID。

每年工资两千五 发表于 2024-3-22 17:11

数据量不大的话 就直接用自增id呗            一般要用到雪花id 都是大公司 数据量巨多的业务,大部分是面试吹牛逼用

luozhe73 发表于 2024-3-22 17:20

Innodb引擎的话,索引和数据是一个文件,b+树叶子节点存储数据。
建议使用自增id作为主键,因为id具有连续性的话数据也会连续的存储在磁盘。查找数据时io比随机id要少。

xiajin 发表于 2024-3-22 17:21

能用自增用自增,不行就雪花算法

VioletKiss 发表于 2024-3-22 17:41

雪花算法不难,直接用,最好还是纯数字的作为主键,如果你是分布式应用就用雪花算法,如果是单机项目,用自增就行

外酥内嫩 发表于 2024-3-22 17:50

大多数情况下都会使用自增id

kapibala 发表于 2024-3-22 18:03

感觉自增用着挺靠谱,uuid看着乱不舒服
页: [1] 2
查看完整版本: mysql主键是使用id还是uuid