我想存储用户上传的每个媒体(图像/声音/视频/PDF)的标签。将来我想用这个标签来搜索媒体。我是一名初学者开发人员,我使用了一种方法来做到这一点。
我做了两张桌子
- 标记(标记,标记名)
媒体标签(Mediaid,Tagid)
- 媒体是用户上传的数据数据
- 标签是用于再次搜索媒体的简单词
例如,如果我上传一张图片,它将有一个 mediaid=M1,我会给它两个标签,分别是 Tag1、Tag2。现在
Table 1} will contain data => Row1 = T1-Tag1 ; Row2 = T2-Tag2 as schema[Tagid,Tag name]
Table 2} will contain data => Row1 = M1-T1 ; Row2 = M1-T2 as schema[Mediaid,Tagid]
用户每次上传都会重复此操作。例如,当我必须搜索特定标签时:搜索“Tag1”。它会找到 Tag1 的 Tag id 是“T1” 它会在 Mediatags 表中查找标签 id 是“T1”的每个 meadiid
然后我会得到那些标签为 T1=Tag1 的媒体
我为此使用 MySQL。现在我想到了另一种机制,
如果我为每个标签制作一个 XML 文件,其中包含具有该标签的所有媒体 ID。在此示例中,将有 2 个 XML 文件 TAG1.XML 、 Tag2.XML 并且两者都将包含数据 M1 它在搜索时创建了两个步骤。找到该标签的 XML 文件。我们得到所有使用该标签的媒体。所以在这里,我会找到 XML 文件 TAG1.XML 并阅读它。它会给我所有使用标签 M1 的媒体 ID。我认为它可以在搜索时提供帮助。但是会生成太多的 XML 文件!我将按字母字典对它们进行排序。
我只是想知道, 1. 这里使用这种 XML 方法然后使用 MySQL 的效率如何?2.在MySql 2表中查找数据然后查找存储在固定目录中的XML文件,哪个更好?
如果我使用第一种方法,MySql 表中会有很多行,而在第二种方法中会有很多 XML 文件(一个 XML 文件不会很重,但会有很多 XML 文件!)
这就是为什么我很困惑什么是更首选的方法!请建议!