我在 PHP 中使用参数化查询,我有以下两个查询:
SELECT username,question_text
FROM questions,users
WHERE questions.question_id = 4 AND questions.user_id = users.user_id
和
SELECT username, post_text
FROM posts,users WHERE posts.question_id = 4
AND posts.user_id = users.user_id ORDER BY posts.post_id ASC
简而言之,这些问题正在“帖子”表中讨论,并由其 Question_id 引用。
我的 PHP 代码中有一些冗余代码,因为我不了解足够的 mysql 来查询数据库一次以从这两个查询中获取我需要的结果。
我处理 PHP 代码的冗余部分的方式是否正确,或者是否有更好的方法来实现此目的?
最佳答案
在where子句中使用join而不是匹配列
SELECT username,question_text
FROM questions INNER JOIN users on questions.user_id = users.user_id
WHERE questions.question_id = 4
还有
SELECT username, post_text
FROM posts INNER JOIN users on posts.user_id = users.user_id
WHERE posts.question_id = 4
ORDER BY posts.post_id ASC
关于php - 优化 MySQL 查询所需的建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3976688/