以 64 位无符号整数的形式返回“短”通用标识符。UUID_SHORT() 返回的值不同于 UUID() 函数返回的字符串格式的 128 位标识符,并且具有不同的唯一性属性。如果满足以下条件,则保证 UUID_SHORT() 的值是唯一的:
当前服务器的 server_id 值介于 0 和 255 之间,并且在您的源服务器和副本服务器集中是唯一的
您不会在 mysqld 重新启动之间设置服务器主机的系统时间
您在 mysqld 重新启动之间平均每秒调用 UUID_SHORT() 少于 1600 万次
UUID_SHORT() 返回值是这样构造的:
(server_id & 255) << 56 + (server_startup_time_in_seconds << 24) + incremented_variable++;
UUID_SHORT()
mysql> SELECT UUID_SHORT(); +-------------------+ | UUID_SHORT() | +-------------------+ | 27823612928983040 | +-------------------+ 1 row in set (0.03 sec)
注意:UUID_SHORT() 不适用于基于语句(statement-based)的复制。