我想創建一個表來接收用戶輸入(UGC)。這個內容的大小可以從單個字符到幾百個字。輸入將在utf8_unicode_ci
中編碼,並且可以是拉丁字符或多字節字符。
輸入將要被搜索。
(從長期來看,我可能想存儲非文本對象 - 圖片之類的,但現在讓我們專注於UTF8文本。)
在這一點上,我只是構想2個字段的表:一個ID(自動增量INT(10)
)和UGC本身。 (我可能需要一些更多的領域,如dateAdded
等)
我應該如何構建我的數據庫,允許靈活性和性能之間的良好折衷?我可以......
- 設置一個上限,對字符串的大小,並利用性能&可用性命中。
- 創建不同尺寸範圍(最終類型的)幾個表,並通過表名和ID的組合識別每件物品(所以我需要有唯一的ID,表名,表特定的ID中央表)。
- 我可以單獨存儲每一個對象,只是有DB店的URL。我懷疑這最終會成爲#2效率較低的版本,但我已經超出了我的深度。
謝謝
JDelage
該UGC的任何部分都被認爲是可搜索的嗎? – 2012-02-06 22:47:46
@Eugen Rieck - 是的,好點。我會編輯我的問題。 – JDelage 2012-02-06 23:07:53