http://tagging.pui.ch/post/37027745720/tags-database-schemas
Stackoverflow的标签处理是迄今为止我见过的最好的标签之一。
有谁知道它是否是一种模式模式我可以从中获得一些想法?
否则,我只是在寻找有关其他人成功实施的标记模式的建议。
答案 0 :(得分:18)
这完全取决于标记分布和密度比的数据量和内容
如果您的标签分布和密度比率较低(典型的人工生成数据),您只需为数据使用的每个可能的标签集合生成唯一的ID或哈希值。将“标签集合”ID与每个数据实例与这些标签相关联
对于许多形式的人类生成数据,这可以令人惊讶地发挥作用
e.g。 Stackoverflow有大约500,000个问题,大约20,000个标签(太多的dupe-ish标签!)。大多数问题都少于五个标签。在最糟糕的情况下,您将有500,000个“标签集合”ID来关联,但更现实的是,您将拥有数千个
由于标签的特定组合不再使用,您还必须在“标签集合”集合上进行实例跟踪或垃圾回收
e.g。
如果使用散列(在集合的所有标签上使用散列),则插入标签会很快。否则你必须搜索TagCollection和TagCollectionTag集合,但这不应该太大
搜索速度很快;在包含特定标记集的实例中搜索TagCollectionTag,然后查找包含任何tagCollectionId的数据行
希望这不会太混乱: - )
答案 1 :(得分:4)