雪花算法和Mysql自增的优缺点

雪花算法和Mysql自动增量的优缺点如下:

雪花算法的优点是:

1,就不重复了。

2、井然有序,不会造成空间浪费和随意插入影响性能。

3,生成很快,特别是比UUid快很多。

4,比UUid小。

缺点是:时间回调造成混乱。

Mysql自我成长的优势在于:

1,存储空间小。

2.高插入和查询性能。

缺点是:

1和int的范围可能不够大。

2.要做数据迁移的时候会很麻烦,主键容易冲突。

3.由于id增加,自身业务的增长很容易被别人掌握。

4.自增在高并发的情况下性能很差。

生成id的代码是:

自增和UUid不同的原因是我们通常在mysql数据库中使用Innodb支持事务,在Innodb中使用B+ number索引。Innodb的存储结构是一个聚集索引。聚集索引的顺序主键和随机主键对效率影响很大。

自增量是顺序主键存储,查找和插入方便(插入会按顺序在前一个之后插入),但是UUid是乱序的,计算得到的hashcode也会乱序(根据hashcode选择存储位置)。

所以对他的搜索效率是很低的,而且因为他是无序的,他的插入可能会插入到前面的数据中,这样会引起很多其他的操作,会极大的影响性能或者会因为无序存储而浪费很多存储空间。