一尘不染

在MySQL中存储UUID v4

mysql

根据此处找到的功能,我正在使用PHP生成UUID

现在,我想将其存储在MySQL数据库中。存储UUID v4的最佳/最有效的MySQL字段格式是什么?

我目前有varchar(256),但我可以肯定它比所需的要大得多。我已经找到了很多几乎可以回答的内容,但是对于它们所指的UUID形式,它们通常是模棱两可的,所以我要询问特定的格式。


阅读 575

收藏
2020-05-17

共1个答案

一尘不染

将其存储起来,VARCHAR(36)好像您希望完全适合它一样,或者VARCHAR(255)无论如何都要以相同的存储成本进行计算。这里没有理由大惊小怪。

请记住,VARCHAR字段是 可变长度的 ,因此存储成本与它们中实际有多少数据成正比,而不是与其中可能有多少数据成正比。

存储它BINARY非常烦人,这些值是不可打印的,并且在运行查询时可能显示为垃圾。很少有理由使用文字二进制表示形式。可以将人类可读的值粘贴粘贴并轻松使用。

其他一些平台,例如Postgres,都有一个适当的UUID列,该列以更紧凑的格式在内部存储它,但将其显示为便于人类阅读,因此您可以充分利用这两种方法。

2020-05-17