1、生成出来的id主要格式演示如下:
457919d37615456cb98e380365f4e9c8
11ee974d885e4405940fe7084d0c878f
27c15dff8029444984f928b7d634f1ae
10c6984681a4452491c70af8d43f29aa
6edec9c981bd4e5283b8c1801e4b7c06
fa7a1f1dd575456a8ad8ddeda4778792
afc3ffc5f59a4248b09ed7a77fd0a025
3206d78155864eea92bd01d8b6cc20b1
2306d255760244899059a15243f6286d
968015491a784208a6b9acb348f7a5ea
2、java实现工具类代码如下:
import java.util.UUID;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
/********************************************
* 模块名称: 主要功能是做模拟主键的生成操作
* 功能说明:
* 开发人员:君子志邦
* 开发时间:2020/12/28 15:54
* v1.0.0.0 2020/12/28-01
*******************************************/
public class UUIDGenerateTest{
// uuid 会产生重复,这个需要一些逻辑处理,虽然出现的概率很低很低
public static void main(String[] args) {
ExecutorService newFixedThreadPool = Executors.newFixedThreadPool(100);
for (int i = 0; i < 10; i++) {
newFixedThreadPool.execute(new Runnable() {
public void run() {
String newsId = UUID.randomUUID().toString().replace("-", "");
System.out.println(newsId );
}
});
}
}
}
3、总结
1、目前是使用多线程实现的并发场景下的主键生成策略,生成之后的结果显示基本上不会重复,目前我们生产行16946612行数据还没有出现主键重复的现象,网上看到有出现重复的情况;
2、设置为主键,当然也是唯一索引,查询比较快,是String的类型!