我需要存储用户帖子/评论,每个帖子都有一个 post_hashtags 字段(如关键字)...
哪种 MySQL 数据类型最适合这个 post_hashtags?
我需要稍后能够选择包含一个给定主题标签(完全匹配)的所有帖子,例如,在像这样的网址上显示所有相关帖子时
www.example.com/tag/car
通常我会将它们存储在 text
类型的字段中并像这样分隔它们:
[汽车][红色][引擎]
这样我就可以使用 SELECT * from user_posts WHERE post_hashtags LIKE '%[car]%'
进行查找
是否有更好的数据类型? 这些主题标签应包含任何字母数字值,而不是一组有限的可能预定义值。
最佳答案
明确回答您的问题:varchar(20) 是一个不错的选择。
为获得最佳性能,请使用单独的表来存储您的标签:
Table tags
----------
id integer PK
tag varchar(20)
此链接可能会有帮助:Best way to store "tags" for speed in enormous table
希望这对您有所帮助。
关于mysql - 用于存储内容主题标签/关键字的最佳 mysql 字段类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22209716/