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(): 100158760672034819
SYS_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)。