2013-04-23 81 views
0

我想實現像用戶,頁面,照片,專輯,事件,評論等類似的Facebook的Facebook。他們都是唯一的ID,他們中的大多數可以從http://facebook.com/ {object_id}我應該使用數據庫序列ids還是uuid_short()?

訪問,並且喜歡或評論任何對象,您只需簡單地做http://facebook.com/ {object_id}/comment或likes。

對序列的MySQL執行:對uuid_short()http://www.mysqlperformanceblog.com/2008/04/02/stored-function-to-generate-sequences/

mysql的文檔:http://dev.mysql.com/doc/refman/5.5/en/miscellaneous-functions.html#function_uuid-short

什麼是使用序列的優點和缺點?

btw如果我要實現序列,我會選擇BIGINT作爲字段類型。

回答

0

如果您使用的是InnoDB,則每次都會有一個數值超過UUID值。

假設您將此值設爲主鍵,它將被聚集。嚴格增加的數值遠遠優於UUID。

欲瞭解更多信息,請參閱這些答案Mysql How do you create a clustered index?及後續鏈接。而這Google books link。而DBA.SE

注:同樣的道理也適用於SQL Server和Sybase太

+0

我不打算用UUID,但UUID_short(),它是數字了。 – Basit 2013-04-23 07:14:52

+0

如果它獨特,那就使用它。不要添加序列開銷。 – gbn 2013-04-23 07:27:44

+0

它有一些條件,如果一個條件失敗,唯一性也會失敗。點擊上面的鏈接閱讀所有條件。 – Basit 2013-04-23 07:30:12

相關問題