MariaDB UUID_SHORT() 函数使用指南
在 MariaDB 中,UUID_SHORT() 是一个内置函数,返回一个简短的在一定条件下具有唯一性的通用标识符(UUID)。
您还可以使用 UUID() 和 SYS_GUID() 获取唯一标识符。
UUID_SHORT() 与 UUID() 返回值不同并具有不同的唯一性属性。
MariaDB UUID_SHORT() 语法
这里是 MariaDB UUID_SHORT() 函数的语法:
UUID_SHORT()
参数
MariaDB UUID_SHORT() 函数没有任何参数。
返回值
MariaDB UUID_SHORT() 函数以 64 位无符号整数形式返回一个短的通用标识符。
这是 UUID_SHORT() 函数返回值的构造方式:
(server_id & 255) << 56
+ (server_startup_time_in_seconds << 24)
+ incremented_variable++;
在满足下列条件时, UUID_SHORT() 函数返回的值是唯一的:
- 当前服务器的
server_id值在 0 到 255 之间,并且在您的源服务器和副本服务器集中是唯一的 - 您不会在 mysqld 重新启动之间设置服务器主机的系统时间
- 您在 mysqld 重新启动之间平均每秒调用
UUID_SHORT()少于 1600 万次
MariaDB UUID_SHORT() 示例
下面的示例展示了如何使用 UUID_SHORT() 函数获取一个唯一标识符。
SELECT UUID_SHORT();
输出:
+--------------------+
| UUID_SHORT() |
+--------------------+
| 100158760672034816 |
+--------------------+如果我再次调用它,我会得到不同的值:
SELECT UUID_SHORT();
输出:
+--------------------+
| UUID_SHORT() |
+--------------------+
| 100158760672034817 |
+--------------------+即使您在同一个语句中调用两次 UUID_SHORT(), 也会达到不同的值:
SELECT
UUID_SHORT(),
UUID_SHORT()\G
输出:
UUID_SHORT(): 100158760672034818
UUID_SHORT(): 100158760672034819SYS_GUID() vs UUID() vs UUID_SHORT()
下面的例子展示了 SYS_GUID(), UUID() 和 UUID_SHORT() 的不同:
SELECT
UUID_SHORT(),
UUID(),
SYS_GUID()\G
输出:
UUID_SHORT(): 100158760672034821
UUID(): 442e4aba-a10d-11ed-ac31-18c04d19fce5
SYS_GUID(): 442e4abfa10d11edac3118c04d19fce5结论
在 MariaDB 中,UUID_SHORT() 是一个内置函数,返回一个简短的在一定条件下具有唯一性的通用标识符(UUID)。