我正在尝试将UUID添加到几个表中,但我不确定存储/检索这些表的最佳方法是什么.我知道使用BINARY(16)代替VARCHAR(36)效率更高.在做了一些研究之后,我还发现你可以将UUID字符串转换为二进制:
UNHEX(REPLACE(UUID(),'-',''))
Run Code Online (Sandbox Code Playgroud)
原谅我的无知,但有一个简单的方法用PHP,然后在需要时将其转回字符串,以提高可读性?
另外,如果我用它作为主键而不是auto_increment会有很大的不同吗?
编辑:
找到部分答案:
$bin = pack("h*", str_replace('-', '', $guid));
Run Code Online (Sandbox Code Playgroud)
你怎么打开它?
示例:从 php v4 生成的 Uuid :
8bc278cb-2fb6-413b-add6-8ba39bf830e8
我想将其转换为两个 64 位整数。
我尝试过使用hexdecphp 但它的返回值是数字。我想要整数数据类型。
有趣的是 :
我尝试将 hexdec 与上述 uuid 一起使用,并将此输出用于 dechex。有些怎么样,没有得到相同的值?
任何对此的见解将不胜感激。