利用mysql數據庫生成UUID

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位。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章