我们使用UUID作为out oracle DB的主键,并尝试为VARCHAR确定适当的最大字符长度。显然,这是36个字符,但我们注意到生成的UUID比这个更长-最多60个字符。有人知道UUID的最大字符长度吗?
发布于 2012-11-16 04:07:02
Section 3 of RFC4122提供了UUID字符串表示的正式定义。它是36个字符(32个十六进制数字+4个破折号)。
听起来您需要找出无效的60个字符的is来自何处,并决定1)是否接受它们,2)这些is的最大长度可能基于用于生成它们的API。
发布于 2013-09-25 02:13:44
顺便说一句,这是定义为CHAR 36的完美类型的字段,而不是VARCHAR 36,因为每个值都有完全相同的长度。您将使用更少的存储空间,因为您不需要存储每个值的数据长度,只需要存储值。
发布于 2018-08-01 04:43:59
如今,大多数数据库都有原生UUID类型,以便更轻松地使用它们。如果没有,它们只是128位的数字,所以你可以使用二进制(16),如果你经常需要文本格式,例如为了故障排除,那么添加一个计算列来从二进制列自动生成它。没有充分的理由存储(大得多的)文本表单。
https://stackoverflow.com/questions/13397038
复制相似问题