mysql - 优化困境

标签 mysql sql

最优化的方式是什么?我正在建立一种“社交网络”。用户可以上传相册、文件或消息。每一项数据都保存在不同的表中。接收者保存为用逗号分隔的用户 ID,例如:“1,2,3,4,”。现在我想抓取为用户发送的所有内容。我有两种方法(据我所知)可以做到这一点。

  1. 单独获取每个表(效率不高,因为我必须对获取的每一行进行查询才能从另一个表获取发件人用户)。然后对数据进行处理。

  2. 连接 3 个表。但据我了解,我不能在 JOIN 中使用 LIKE。

有什么想法吗?

最佳答案

您可以在 JOIN 中使用 LIKE (请参阅 how to use a like with a join in sql? ),但如果我正确理解您的意思,您不应该将接收者表示为逗号分隔的字符串列表。相反,请使用另一个表,为每个接收者-项目关系提供单独的记录,以便您可以在不需要使用 LIKE 的情况下对其进行查询。

关于mysql - 优化困境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23068177/

相关文章:

java - 您的 SQL 语法有误;查看与您的 MySQL 服务器对应的手册

php - 我在 MySQL 表中添加了一列,但没有显示任何数据

MySQL 从一系列相同值中选择第一个和最后一个记录

php - 无法显示 mysql wpdb 表,其中包含有关 woocommerce 产品的信息,但没有包含已删除产品的行;也无法对 html 表进行分页

MYSQL 查询 - 将特定行的正值更改为负值...

mysql - SQL检查日期之间房间是否可用

java - SPRING MVC数据库jdbc错误

c# - 如何在 C# 中比较字符串值

PHP + MySQL : When I select from two tables, 如何定义我要从哪个表中取 "id"

mysql - 为什么在使用 EF6 的 WPF 应用程序中,日期时间字段始终写为零?