为什么数据库里面以uuid作为主键都是不带有中横杠的呢?

很不理解,我发现很多用uuid作为主键的表数据,都是uuid去掉中横杠之后的。
为什么要这么做呢?
是有什么优势么?
还是单纯的为了节约那四个字符的空间呢?

首先:中划线在UUID中其实只起到占位作用,不是有效数据位,所以完全可以去除
其次,UUID作为标识符时,少了面向人工可读添加的中划线作为表主键减少了存储空间,
此外,这样还可以统一数据(可能不同的系统中UUID中的中划线位置还可能不一样,还不如统一去除来使用),即只要原始UUID一样,无论后面怎么显示处理,使用时意义一样。

四个字节 数据量大了也能节约不少呢、
还有就是个人觉得看起来舒服点,杠是特殊字符 感觉索引查找起来可能要复杂点

横杠只是为了让人看起来舒服一点,就比如电话号码0123-12345678,如果去掉横杠,就变成了012312345678,阅读起来就比较费力(虽然一般也不会去看uuid)。横杠有无对于uuid本身是没有任何影响的,去除可以节约点空间,索引也可以略微简单点(都是在大量数据的情况下),同时mysql官方也不是很推荐使用uuid作为主键,但是自增主键也有一系列的问题,各有利弊。