【问题标题】:Which Method is better to display large result from database?哪种方法更好地显示数据库中的大结果?
【发布时间】:2011-03-29 20:43:39
【问题描述】:

几天前,我发布了一个关于从数据库中以最少查询次数获取学生分数结果的问题。 我需要知道的是以下哪种方法更好?

案例A

  1. 从数据库中查询所有学生
  2. 然后对于EACH学生,从数据库中查询结果
  3. 这样,如果我们有 100 个学生,我们需要查询数据库 100 次。
  4. 例子:

    $Students = mysql_query(SELECT student_id, student_name FROM STUDENTS WHERE class_id = 2);
    
    while($student = mysql_fetch_assoc($Students) {
        $Result = mysql_query("SELECT marks FROM result WHERE student_id = ".$student['student_id']);
        // Process result
    
    }
    

案例 B

  1. 从数据库中查询所有学生
  2. 然后使用SELECT marks FROM result WHERE student_id IN (23,34,23,343,25,67,65,...)等“IN”运算符查询以上学生的结果
  3. 然后使用 foreach 语句,根据需要处理结果。
  4. 这样,我们有 100 个学生,我们只需要查询数据库 2 次。

我需要知道以上两种情况哪个更好?

谢谢

【问题讨论】:

    标签: mysql


    【解决方案1】:
    select * from students join marks on students.student_id = marks.student_id
    

    应该这样做。当然,您的第二个选项似乎更好。

    【讨论】:

      【解决方案2】:

      会不会:

      SELECT marks FROM result JOIN students ON students.student_id = result.student_id;
      

      join reference

      【讨论】:

      • 是的,这也是一个选项,但我构建表格的方式和显示数据的方式不适用于 JOIN。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-06-27
      • 1970-01-01
      • 2021-03-30
      • 2013-08-15
      • 1970-01-01
      • 2013-04-25
      • 2016-06-27
      相关资源
      最近更新 更多