select uuid_short()
生成的为一个64位无符号整数,可用字符串接受,其生成规则如下图:
- 前面8个bit位一个字节的值server_id & 255
- 中间32位一共四个字节为数据库启动时间戳,单位秒
- 最后24位3个字节为自增变量值
可以通过**show variables like ‘%server_id%’**查看servr_id
在server_id为0的条件下当前的时间戳为1580000000000,对应秒1580000000,其左移24位的值为26508001280000000,生成的大于此值,所以现在生成的uuid肯定不少于17位。
如果server_id=1,则2^56 + 26508001280000000 = 98465595317930000,此时uuid大于此值,随着自增量的增大可能为增加到18位。