用于存储内容主题标签/关键字的最佳mysql字段类型

时间:2014-03-05 21:28:52

标签: mysql database database-design

我需要存储用户帖子/评论,每个帖子都有一个post_hashtags字段(如关键字)......

哪种MySQL数据类型最适合这个post_hashtags?

我需要稍后才能选择包含一个给定主题标签(完全匹配)的所有帖子,例如在网址上显示所有相关帖子时

www.example.com/tag/car

通常我会将它们存储在text类型字段中,并将它们划分为:

[car][red][engine]

这样我可以使用SELECT * from user_posts WHERE post_hashtags LIKE '%[car]%'

进行查询

这有更好的数据类型吗? 这些主题标签应包含任何字母数字值,并且不是可能的预定义值的有限集合。

1 个答案:

答案 0 :(得分:0)

明确回答你的问题:varchar(20)是一个很好的选择。

为获得最佳性能,请使用单独的表格来存储代码:

Table tags
----------
id integer PK
tag varchar(20)

此链接可能会有所帮助:Best way to store "tags" for speed in enormous table

希望这有帮助。