在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Java  數(shù)據(jù)庫/ 可以用System.nanoTime()做主鍵ID嗎?

可以用System.nanoTime()做主鍵ID嗎?

單機服務(wù),主鍵ID為長整型,需要做到不能連續(xù)的,比如自增就不能實現(xiàn)因為是連續(xù)的。
我想到了用System.nanoTime()做ID,因為沒有實踐過,不知道會不會出現(xiàn)ID重復(fù)?
問題是: 1 這樣可以實現(xiàn)嗎?

    2 如果有更好的辦法,那是什么了?
回答
編輯回答
忠妾

墨菲定律只要有可能出錯,就一定會出錯,不管它的概率有多小。

不能連續(xù)出現(xiàn),單機服務(wù)。舉個例子,假如你使用 自增ID 在加 System.nanoTime() 組成一個 long 類型數(shù)字(是字符串形式連接,而不是加法)。這個ID就不會重復(fù)了,因為 自增ID 一定不會重復(fù)。

2017年10月18日 03:18
編輯回答
未命名

不行。nanoTime使用的是一個不確定的起始時間,在重啟動以后很可能會有重疊。

可使用UUID。

2017年8月25日 11:46