作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
什么更快:
使用联接获取帖子的用户详细信息或仅获取包含用户 ID 的帖子数据,收集用户 ID,并在查询帖子后运行一个:
从用户中选择 x,y,z,其中 id 位于(1,2,3,4,5,6,7...等)
简短:
什么更好?:
SELECT x,y,z,userid
FROM posts
WHERE id > x
ORDER BY id
LIMIT 20
SELECT x,y,z
FROM users
WHERE id IN (1,2,3,4,5,6,7...etc.)
或者:
SELECT p.x,p.y,p.z, u.username,u.useretc,u.user.etc
FROM posts p
INNER JOIN users u
ON u.id = p.userid
AND id > n
ORDER BY id
LIMIT 20
在某些情况下,这可能会将用户表的查询次数减少到 2 次,而不是 20 次。讨论中只有两个用户发帖的页面。
最佳答案
无论如何,第二种方法更好:
关于mysql - 将 mysql 查询拆分为两个以避免 join -> sum ids 并使用 where in,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21526085/
我是一名优秀的程序员,十分优秀!