MySQL,选择具有许多一对多关系的条目的最佳方法?

标签 mysql sql database database-design

假设我有一个表 Products 并且我有 3-4 个其他表(评论、图片、订单等)以一对多关系连接到 Products。

我应该如何轻松地从其他表(评论、图片、订单)中选择一个产品及其相关条目?

我尝试使用左连接连接其他表,但我得到了重复的条目。如果我想选择很多产品而不是一个,这也会变得更糟。

我也考虑过对每个相关表进行一次查询,但这不会太慢吗?

最佳答案

如果我理解正确,你有例如 1 产品 该产品有 4 条评论 10张图片和 5个订单 如果你做左连接,你会得到 4*10*5=200 个结果,其中有很多重复的评论、图片和订单。但是每个评论、图片和订单您只需要一行。

您需要为每个相关表单独查询。如果有办法解决这个问题,它会比单独的解决方案更复杂、更慢。

关于MySQL,选择具有许多一对多关系的条目的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21040547/

相关文章:

c# - Linq to Entities 中的自定义联盟

database - 旧的未知数据库

php - 有什么工具可以在 PHP/MYSQL 中保持数据库结构持续同步?

mysql - perl - 在数据库中发送多个请求

python - 如何返回socket.inet_aton中的数字?

mysql - 返回计数为 0 的行

sql - GROUP BY 子句错误

生产中的数据库模式更新

php - 在 mysql 中存储 URL

php - Laravel 7:MariaDB与Redis结合使用,但是Redis在大型对象上的运行速度较慢