我知道這個論壇有關這個問題的幾個問題。但我不是在討論爲同一個實體分割表(例如用戶)單個大型v/s多個小型MySQL表格用於存儲選項
假設我有一個巨大的選項表,它存儲了性別,婚姻狀態以及更多具有相同結構的特定於域的組列表選項。我計劃在OPTIONS
表中捕獲。 另一個簡單的選擇是將該字段設置爲ENUM,但也存在這些缺點。 http://www.brandonsavage.net/why-you-should-replace-enum-with-something-else/
OPTIONS
表:
option_id <will be referred instead of the name>
name
value <more like a description, and not a name/value pair>
group
查詢:select .. from options where group = '15'
用法:性別& MARITAL_STATUS將在人的表;但是存儲的值將來自選項
eg.
Person
..
id=34 name=Prasad gender=31 marital_status=41
..
Options
..
31 gender male male
32 gender female female
...
41 marital_status single single
42 marital_status married married
..
- 由於該表有望成爲多租戶,無行可能會大幅增長。
- 我認爲拆分表而不是尋找組會更容易編寫&執行。
- 或者可能由組或租戶劃分?
非常感謝羅伯特。 你稍有誤解:Gender&Marital_Status將在Persons表中;但是,存儲的值將來自選項 例如。 人 .. ID = 34名=普拉薩德性別= 31個MARITAL_STATUS = 42 .. 選項 ... 31性別男男 32性別女女 ... 41個MARITAL_STATUS單個單 42 MARITAL_STATUS已婚已婚 ... – Prasad 2010-05-30 06:00:03