您现在的位置是:首页 > 编程 > 

MySQL 8.0 体验 UUID v7

2025-07-28 20:36:18
MySQL 8.0 体验 UUID v7 UUID v7 和 UUID v1 之间存在几个显著的区别,主要体现在生成方式、结构、安全性和适用场景等方面。主要区别UUID v1:由时间戳、MAC 地址和时钟序列生成。它依赖于设备的硬件地址(MAC 地址),因此在同一设备上生成的 UUID 可能会泄露设备信息。UUID v7:结合了 Unix 时间戳和随机数生成。UUID v7 不使用 MAC 地址,

MySQL 8.0 体验 UUID v7

UUID v7 和 UUID v1 之间存在几个显著的区别,主要体现在生成方式、结构、安全性和适用场景等方面。

主要区别

  • UUID v1:由时间戳、MAC 地址和时钟序列生成。它依赖于设备的硬件地址(MAC 地址),因此在同一设备上生成的 UUID 可能会泄露设备信息。
  • UUID v7:结合了 Unix 时间戳和随机数生成。UUID v7 不使用 MAC 地址,而是完全依赖随机数,从而提高了隐私和安全性。
  • UUID v7 是对 UUID v1 的一种改进,提供了更好的安全性、简化的结构以及在高并发环境下更优的性能。由于去除了 MAC 地址,UUID v7 更加适合现代应用需求。
MySQL 默认情况下使用的是 UUID v1,目前原生并不支持。可通过社区插件进行安装。

在 代码库中获取到component_uuid_v7.so文件(Centos 7系统),并将其拷贝到/usr/local/mysql/lib/plugin/目录下。

一、插件安装

代码语言:sql复制
mysql> install component "file://component_uuid_v7";
Query OK, 0 rows affected (0.00 sec)

mysql> select uuid_v7();
+--------------------------------------+
| uuid_v7()                            |
+--------------------------------------+
| 019e1e-a6ee-7411-9c5c-0e448fd9911 |
+--------------------------------------+
1 row in set (0.00 sec)

mysql> select uuid_v7_to_timestamp("019e1e-a6ee-7411-9c5c-0e448fd9911");
+--------------------------------------------------------------+
| uuid_v7_to_timestamp("019e1e-a6ee-7411-9c5c-0e448fd9911") |
+--------------------------------------------------------------+
| 2024-12-20 10:26:5.294                                      |
+--------------------------------------------------------------+
1 row in set (0.00 sec)

使用 UUID v7作为表的主键

代码语言:sql复制
mysql> create table tb1 (id varbinary(16) primary key, name varchar(20), 
created timestamp default current_timestamp());
Query OK, 0 rows affected (0.01 sec)

mysql> insert into tb1 (id, name) values (UUID_TO_BI(uuid_v7()), "张三");
Query OK, 1 row affected (0.01 sec)

mysql> select BI_TO_UUID(id), name, created from tb1;
+--------------------------------------+--------+---------------------+
| BI_TO_UUID(id)                      | name   | created             |
+--------------------------------------+--------+---------------------+
| 019e1e6-fee6-79ad-860d-861608624af | 张三   | 2024-12-20 10:0:2 |
+--------------------------------------+--------+---------------------+
1 row in set (0.00 sec)

UUID v7:更适合现代分布式系统,尤其是在需要高并发和良好排序性能的数据库应用中,UUID v7 的时间可排序性使得数据插入和查询更加高效。

#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格

本文地址:http://www.dnpztj.cn/biancheng/1239695.html

相关标签:无
上传时间: 2025-07-26 22:15:17
留言与评论(共有 8 条评论)
本站网友 白发原因
14分钟前 发表
主要体现在生成方式
本站网友 车险第二年优惠
8分钟前 发表
结构
本站网友 合肥银泰
26分钟前 发表
UUID v7 的时间可排序性使得数据插入和查询更加高效
本站网友 瘦胳膊方法
22分钟前 发表
name) values (UUID_TO_BI(uuid_v7())
本站网友 家具卖场
9分钟前 发表
2 | +--------------------------------------+--------+---------------------+ 1 row in set (0.00 sec)UUID v7:更适合现代分布式系统
本站网友 月经期间
16分钟前 发表
name
本站网友 可瑞康奶粉真假对比
3分钟前 发表
"张三"); Query OK