2013-05-03 20 views
0

我正在使用社交網絡。隨着活動(如評論,關注,發佈等),用戶,頁面關注,專輯,照片和其他一些事情。現在MySQL:數據庫中每個實體的一個自動增量ID

,在社交網絡中最重要的事情之一是活動飼料。我有一個activity_feed表,user_table,follow_table,like_table等結構...我在想:如果我使用一個獨特的AUTO INCREMENT來識別我的應用程序中的每一個實體呢?

實施例:

用戶通過註冊加入我的網站:

  • 添加的活性activity_feed(和獲得ID)
  • 添加用戶USER_TABLE(帶外鍵activity_feed)

實施例2:

用戶上傳照片:

  • 添加活動activity_feed
  • 添加照片照片表(帶外鍵)

這將簡化API調用(例如:http://api.domain.com/ID),刪除實體,將來的數據庫共享和其他許多事情。

我注意到Facebook有這樣的結構。很明顯,索引可以在其他表上進行(例如:activity_index_type,其中activity_type - > user和activity_id)。

可能是一個很好的解決方案?

對不起,我的英語! :$

回答

0

這是Globally Unique ID的概念(GUID)。 MySQL有一個函數來生成它們:UUID()。這裏有一個關於SO的建議storing GUID

+0

呃,我知道GUID,但是我想知道如果在這種方法中使用INT可能會很好嗎?謝謝! – Monte 2013-05-04 08:24:52

+0

我在答案中鏈接的答案建議使用'CHAR(16)二進制'。這是鏈接了。 http://stackoverflow.com/questions/412341/how-should-i-store-guid-in-mysql-tables – Andrew 2013-05-05 05:46:33

相關問題