首页 存档 技术 查看内容

Mysql 8.0 更好的支持了 UUID

2018-3-30 13:00 |来自: 互联网 1184 0

摘要: 背景 UUID 是大家常用的,是一个 128bit 的字符串,例如: 12345678-1234-5678-1234-567812345678 UUID 是有版本的,不同版本有不同的底层结构,RFC4122定义了5个版本,MySQL 实现的是版本1,由时间戳、UUID版本、MA ...

背景

UUID 是大家常用的,是一个 128bit 的字符串,例如:

12345678-1234-5678-1234-567812345678

UUID 是有版本的,不同版本有不同的底层结构,RFC4122定义了5个版本,MySQL 实现的是版本1,由时间戳UUID版本MAC地址构成

好处

MySQL 中使用 UUID 是对AUTO_INCREMENT PRIMARY KEY的一个很好的替代,有如下好处:

  • keys 在不同 表、库、服务器 中都是唯一的

  • 安全性更好,很难猜

  • 可以离线生成

  • 可以简化数据库复制

不足

但也有不好的地方:

  • 增加了存储空间

  • 增加了问题调试的难度

  • 有性能问题,因为长度更长,并且无序

MySQL 8.0 的处理方法

MySQL8.0 新增了3个函数:

  1. UUID_TO_BIN

  2. BIN_TO_UUID

  3. IS_UUID

通过这3个函数,使我们可以更方便的应用UUID,并且是对上面提到的几点不足的一个解决方案

UUID_TO_BIN用于对 UUID 字符串进行二进制压缩,32字符--

声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

相关分类

返回顶部