yitter / IdGenerator

💎多语言实现,高性能生成唯一数字ID。 💎优化的雪花算法(SnowFlake)——雪花漂移算法,在缩短ID长度的同时,具备极高瞬时并发处理能力(50W/0.1s)。 💎原生支持 C#/Java/Go/Rust/C/JavaScript/TypeScript/Python/Pascal 多语言,提供其它适用于其它语言的多线程安全调用动态库(FFI)。💎支持容器环境自动扩容(自动注册 WorkerId ),单机或分布式唯一IdGenerator。💎顶尖优化,超强效能。

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

少量并发时在SQLServer中Sql脚本可以使用ABS(CHECKSUM(NEWID()))替代RAND()

MrQLEO opened this issue · comments

如果不记录Sequences的话,也可以使用
ABS(CHECKSUM(NEWID()))
来尽可能保证其随机性,当然这并不能保证不会重复。
在我机器上运行了sql脚本使用rand()的方式基本上20多条就会产生重复,使用ABS(CHECKSUM(NEWID()))的话测试了10W条未产生重复值,大概在50多w的时候发生了重复。
当然相比而言ABS(CHECKSUM(NEWID()))的生成速度要比rand()慢一些,本地循环生成10W条大概在5s左右