用于多实体高性能标记的数据库
|
我正在为社交应用程序设计数据库,并试图确定我的方法是否是1)表现良好,以及2)规范化?
我对标记查询性能和数据库设计的研究得出的结论是,具有全文索引搜索的单个标记表可产生最佳性能。
参见此内容:http://tagging.pui.ch/post/37027746608/tagsystems-performance-tests
我知道我可以(并且应该从纯粹的规范化角度出发)将标签放置在单独的表中,每个标签都有一个键,但是随着数据库的增大,性能会受到影响(根据链接的文章)。标记搜索是我的应用程序的关键组成部分,必须表现出色。
下面的结构说明了我设计的一种使用桥接元数据表的基本方法,并且我希望使用此单个表来桥接更多的“对象表”,但是我仅提供了几个例子:
用户表:UserID PK,UserName等
博客表:BlogID PK,UserID FK,BlogTxt等
相片表:PhotoID PK,UserID FK,PhotoPath等
元数据表:MetadataID PK,UserID FK,ObjectTable(帖子或博客),ObjectID FK(PostID或BlogID),标签(tag1,tag2,tag3)
除了上述问题,我还想知道是否还有更好的选择。我是数据库设计的新手,所以请原谅任何对执行此操作的正确方法的无知。非常感谢。
没有找到相关结果
已邀请:
1 个回复
讹巳漓把备
上面的内容将吹散您想到使用MySQL可能进行的任何优化。