我在 MySQL 中使用 JOIN
来选择一篇文章和所有与之相关的评论,但我意识到当我选择一篇文章并且有多个评论时,我得到的结果是一样的文章被评论的数量重复了。例如:
我有包含以下列的 articles
表:
1. id
2. 文章
表格 comments
包含以下列:
1. c_id
2. 正文
3. a_id
我尝试使用的 MySQL 查询:
SELECT * FROM `articles`
JOIN`comments`
ON (`articles`.id = `comments`.a_id)
WHERE `articles`.id = 134
这是最终结果:
id article c_id body a_id
134 Article1 2 Comment1 134
134 Article1 3 Comment2 134
134 Article1 8 Comment3 134
所以我的问题是:由于我为每条评论获得相同的 article
列值,
这会减慢 MySQL 查询或我的 Web 应用程序的速度吗?因为我请求的数据比我真正需要的要多。
我可以将查询分成 2 个简单的 SELECT
查询,但这太过分了,对吧?
感谢阅读。
编辑:
如果我 article
列的值更大,包含 1k+ 个字符,它会复制它吗?
最佳答案
Since I'm getting the same article column's value for every comment, does this slows the MySQL query or my web application by anyway? since I'm requesting more data then what I really need.
由于数据库传输的字节数多于它需要的字节数,因此会产生相关的性能成本,但可能并不明显。
I can separate the query to 2 simple SELECT queries, but this will be overkill, right?
如果不测量就很难说。如果 article 的值是千兆字节而不是几个字符,那么您可能希望进行两次选择而不是一次选择。
关于mysql - JOIN 返回重复的结果,我应该担心吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11457038/