在MYSQL数据库中存储和查询hastags的最有效方法是什么

工作室

我正在构造MYSQL表,正在使用Laravel构建平台,用户可以在其中上传包含描述的图像。此描述将包含标签。

现在,我想知道最有效的方法是存储描述并进行搜索。

最初,我考虑将描述作为一个整体存储在单个文本列中,并在对该列建立索引后进行简单的搜索。这将允许用户按主题标签和通用词进行搜索。

然后,我想知道提取主题标签并将其存储在带有照片ID的自己的表中是否会更有效。如果此想法只能通过标签进行搜索,但您也可以通过常规单词进行搜索,则该方法会很好用。

任何人都可以确认最佳方法是什么,甚至可以建议另一种方法。

谢谢

戈登·利诺夫

您如何存储数据取决于您要如何访问数据。

如果只想查看描述和哈希标签,则可以将它们放入单个未索引字段中,并在获取每个图像时获取它们。

从您的观点看来,您似乎想要一个descriptions可作为文本搜索列。这可能足以满足您的目的。

但是,如果您希望能够专门询问有关哈希标签的问题,例如:

  • 数据库中有哪些哈希标签,有多少?
  • 特定图像或一组图像上有哪些哈希标签?
  • 两个图像有哪些共同的哈希标签?
  • 哪些哈希标签“包含”其他哈希标签(即#cat和#catamaran)?

然后,您将需要一个单独的哈希标签表。我的建议是将两者结合起来。就像是:

create table images (
    imageId int auto_increment primary key,
    description text,
    createdAt datetime,
    createdBy varchar(255),
    fulltext (description)
);

create table imageHashtags as (
    imageHashtagId auto_increment primary key,
    imageId int not null,
    hashtag varchar(255),
    constraint fk_imagehashtags_imageid foreign key (imageid) references images(imageid),
    index (hashtag)
);

可以想象,您可能希望为哈希标签本身提供参考表,因此它们不会在表中重复。没有足够的信息知道这是否是一个好方法。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

从数据库中删除满足条件的实体的最有效方法是什么?

MySQL:从RBAC数据库检索所有权限的最有效方法是什么?

多次查询数据库的最有效方法

从 Azure 文档数据库的分区集合中的特定分区查询所有文档的最有效方法是什么?

从关系数据库中选择数据的最有效方法是什么?

在数据库中存储二维时间序列的最有效方法是什么(sqlite3)

检查数据库中是否有新条目的最快,最有效的方法是什么?

在Oracle数据库中从联接查询结果为每一行更新一列的最有效方法是什么?

检查用户是否存在于数据库中的最有效方法是什么?

在多维数组和单个数组之间存储数据的最有效方法是什么?

存储和调用数据的最有效方法是什么?

将数据存储到 Firebase 中的多个引用的最有效方法是什么?

存储考勤数据的最有效或最有用的方法是什么?

使用 Wagtail 页面模型获取查询集中外键的特定字段的最有效的数据库方法是什么

检查 Firebase 实时数据库节点值的相等性并更改它的最有效方法是什么?

存储和查询大组(超过10,000个)字符串的最有效方法是什么?

在多个存储库之间共享github工作流的最有效方法是什么?

在 MySQL 中存储分类字符串变量的最有效数据类型是什么

在数据库上存储更改的最有效方法

查询堆栈溢出数据库的问题及其答案的最有效方法

在 Django 1.9 和 Postgres 9.5 中创建用于存储标签的模型的最有效方法是什么?

访问mysql数据库并为网站提取多个数据的最有效方法

(Mysql)存储表更改的最有效方法是什么?

什么是在数据库中存储html链接的有效方法

在本地更改远程存储库后,更新远程存储库的最有效方法是什么?

建立Mocha测试数据库连接的最佳实践和最有效方法

将行插入MySQL数据库的最有效方法

在Realm中存储长对象列表的最有效方法是什么?

在Django模型中存储列表的最有效方法是什么?