我需要存储用户帖子/评论,每个帖子都有一个post_hashtags字段(如关键字)......
哪种MySQL数据类型最适合这个post_hashtags?
我需要稍后才能选择包含一个给定主题标签(完全匹配)的所有帖子,例如在网址上显示所有相关帖子时
www.example.com/tag/car
通常我会将它们存储在text
类型字段中,并将它们划分为:
[car][red][engine]
这样我可以使用SELECT * from user_posts WHERE post_hashtags LIKE '%[car]%'
这有更好的数据类型吗? 这些主题标签应包含任何字母数字值,并且不是可能的预定义值的有限集合。
答案 0 :(得分:0)
明确回答你的问题:varchar(20)是一个很好的选择。
为获得最佳性能,请使用单独的表格来存储代码:
Table tags
----------
id integer PK
tag varchar(20)
此链接可能会有所帮助:Best way to store "tags" for speed in enormous table
希望这有帮助。