如果您使用過GoToMeeting,那就是我想要的ID類型。我希望它是隨機的,以便模糊正在跟蹤的項目的數量並縮短,以便手動引用很容易; UUID太長了。我想避免僅僅爲了性能原因而實現持久存儲,但我想不出任何其他方式來避免衝突。 9位數字是否足以做一些基於時間的事情?有沒有辦法生成一個短的隨機ID,避免碰撞,沒有持久存儲?
在回答問題:
我建立一個票據跟蹤應用程序。這個ID將被用作表的主鍵,但是在記錄被保留之前需要這個ID,這會導致額外的數據庫調用,如果可能的話,我想避免這種調用。
我想保留它在9位整數。我認爲UUID太長,因爲人們不得不手動引用ID(通過電子郵件,電話等)。
我想用某種方式使用生成時間。由於時間總是在前進,所以它會持續限制潛在ID的集合,不包括那些已經生成的潛在ID。
基於時間,在什麼範圍和'剔'粒度? – 2010-05-08 04:15:55
你能解釋一下你的約束:「UUID太長了。」?多久太久了? 5個字節,10個字節? – 2010-05-08 04:16:59
您的要求太模糊,無法爲這個問題提供一個很好的答案。 – Stephen 2010-05-08 04:25:38