用 uuid代替 int自动增长,就是出于解决分布式环境下,出现重复的主键值
解决:用 mycat中间件全局主键解决

  • 无论什么场景,都不推荐使用 uuid来生成表的主键

什么是 uuid

image.png

mysql内置的 UUID

  1. select UUID();

为什么要使用 uuid?
UUID解决了集群环境下 主键重复的问题
image.png

UUID的好处

  • 全局唯一,不用担心重复问题

image.png

UUID的缺点

  • 浪费存储空间,查询比 int要慢很多
  • 生成的uuid 忽大忽小

image.png

主键自动增长的优点

image.png

如何解决重复的主键 id

mycat全局生成主键,用的是单线程,多线程会出现数字错乱

image.png