php - 优化 MySQL 查询所需的建议

标签 php mysql parameterized-query

我在 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/

相关文章:

php - 我有这段代码,它工作正常,但我想将 having 代码更改为另一个结构

php - 无法加载类型 "Doctrine\DBAL\Types\TextType"

MySQL - 更新两个表,无限查询

php - 有什么可以帮助我创建可排序的表(带有搜索过滤器)吗?

PHP动态链接列表破坏ajax

php - 两个数组之间的差异(抑制和添加的行)

mysql - FIND_IN_SET 在大海捞针的边缘找不到值

php - preg_replace() 替换太多

sql - 使用单元格作为参数在 Excel 中使用 SQL 创建参数化查询

delphi - 就 ADO 而言,nvarchar(max) 有多大?