我想创建一个表来接收用户输入(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