php - MYSql 查询性能

标签 php mysql

我有以下查询,我正在获取由 CreatorID 1001 创建的考试的问题数

SELECT count(Questions.question_id) QuestionCount 
    FROM Exams 
        LEFT JOIN Questions  
            ON Exams.exam_id = Questions.exam_id_fk 
    WHERE Exams.CreatorId='1001'

我知道这是一个非常愚蠢的问题,但在某些时候可能有 10,000 个用户执行相同的查询,我只是想确保性能。那么还有比这更好的方法吗?

谢谢。

最佳答案

如果您不需要未定义问题的考试,则以下操作应该更快:

SELECT
  count(Questions.question_id) QuestionCount 
FROM Exams 
INNER JOIN Questions  
        ON Exams.exam_id = Questions.exam_id_fk 
WHERE Exams.CreatorId='1001'

还要确保您在适当的字段上有索引。尝试使用EXPLAIN关于查询。

关于php - MYSql 查询性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7003003/

相关文章:

PHP session 变量 : Error Undefined Variable

php - 使用 PHP 和 pop3 检索电子邮件 - 你的技术是什么?

php - 文件名general.sql在mysql中是否保留

php - 错误: wrong mysql library version or lib not found (when building PHP 7 with a custom built MySQL 8)

MySQL - 按客户数量对订单计数进行分组

php - 限制搜索结果的正确查询

php - 在 Woocommerce 中以编程方式添加带有评分的产品评论

php - 如何在 SQL 查询中使用动态表 "Select * From $var; "$var 正在从另一个文件中获取

mysql - 如何在每次 MySQL 初始化时运行 SQL 脚本?

php - 将数据从一个数据库插入另一台服务器上的另一个数据库 - 服务器未链接