标签的无连接表结构

Mic*_*tum 1 database architecture sql-server database-design

我正在开发一个小博客软件,我想在帖子上附上标签.每个帖子可以有0到无限的标签,我想知道是否可以在不加入表格的情况下做到这一点?

由于标签的数量不受限制,我不能只创建n个字段(Tag1到TagN),因此另一种方法(显然是StackOverflow采用的方法)是使用一个大文本字段和分隔符,即"<Tag1> <与Tag2> <TAG3>".

那里的问题:如果我想显示带有标签的所有帖子,我将不得不使用"赞'%<Tag2>%'"语句,那些AFAIK可以不使用任何索引,需要全表扫描.

有没有合适的方法来解决这个问题?

注:我知道,一个单独的标签,链路表提供的好处,我应该可能没有测量等.我更感兴趣的是不同的方式来设计一个系统,担心性能.

Ken*_*nan 6

想要在没有加入的情况下这样做会让我觉得不成熟.如果经常访问此表,则其页面很可能位于内存中,并且您不会从中读取I/O代价,并且可能会缓存访问它的查询计划.