您好,欢迎来到暴趣科技网。
搜索
您的当前位置:首页[软件质量]为什么不用UUID作为唯一ID?

[软件质量]为什么不用UUID作为唯一ID?

来源:暴趣科技网

UUID(Universally Unique Identifier)

UUID是一种唯一ID生成方法,Go标准库中包含了github.com/google/uuid包,可以用来生成UUID。

package main
import (
	"fmt"
	"github.com/google/uuid"
)
func main() {
   
	// 生成一个新的UUID
	uuid := uuid.New()
	// 打印UUID
	fmt.Println("生成的UUID:", uuid.String())
}

当你运行这段代码时,它会生成一个UUID并打印出来。每次运行时,生成的UUID都会不同。例如,运行结果可能如下所示:

生成的UUID: 6d8e9c50-3f4a-4871-9f7b-8d7d5b5d4d3c

UUID是一种广泛使用的唯一ID生成方法,但并不总是适用于所有场景。

1. 性能-运行速度和响应时间

假设有一个高并发的Web应用,每次请求都需要生成一个UUID作为请求标识。由于UUID生成算法的复杂性,每个UUID的生成都可能需要较多的CPU资源。在高并发情况下,这种资源消耗会迅速累积,可能导致CPU负载过高,从而影响应用的性能。

User Server CPU 发起请求 生成UUID 高CPU开销 返回响应 User Server CPU

2. 性能-资源利用

UUID生成的字符串通常较长(128位),转换为字符串后长度为36个字符。这意味着在数据库中存储UUID时,可能会占用更多的存储空间,尤其是在数据量非常大的情况下。

假设有一个数据库,用于存储大量的用户信息。如果使用UUID作为用户的唯一标识符,每个UUID都将占用36个字符的存储空间。当用户数量达到百万或千万级别时,这种额外的存储空间占用可能会变得非常显著,增加数据库的存储成本维护难度

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- baoquwan.com 版权所有 湘ICP备2024080961号-7

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务