我需要在我的某个网站上添加标签系统。
现在我正在编写一些代码:
tags_table
CREATE TABLE `tags_table` ( `id` int(15) NOT NULL AUTO_INCREMENT, `name` varchar(50) NOT NULL, `seo_url` varchar(50) NOT NULL, PRIMARY KEY (`id`)
files_table有“tags”字段[varchar(250)]
当我添加新标签时:
这样可以更容易地显示文件标签。
当我编辑文件时: - 选择/取消选择标签并再次保存。
具有不同表格的方法II:
但是当我编辑文件时,我如何检查为该文件添加或删除了哪些标签?
什么更有效?
字段或不同表中的逗号分隔值?
此外,当我编辑标签名称或删除标签时,也应对所有文件进行更改。
答案 0 :(得分:2)
请勿使用逗号分隔值。它们的查询速度往往较慢。一个例外可能是您使用FULLTEXT索引和使用MySQL的MATCH,但随后您将自己绑定到特定的DBMS 和特定的存储引擎(MyISAM)。
如果您有一个带标签的单独表格和一个将标签ID链接到文件的链接表,您将拥有以下优势:
答案 1 :(得分:0)
根据您的要求,您需要:
我强烈建议使用单独的表来存储tags_files
,因为您只需在文件中添加或删除标记,但在tags_files
表中删除或添加新条目。
以逗号分隔的方法不好,原因如下: