如何使用php jquery加速数千个php循环

时间:2016-04-16 05:52:50

标签: php jquery

最近我开发了一个处理学生成绩的应用程序。算法如下:

算法:

get list of all students from mysql

  if found

    get list of subject from mysql

      get sum of marks from mysql for each student and subject

      calculate pass,fail,grade point etc.
      insert total marks into another table

    //end subject list

  error msg if no student

// end

这需要很长时间。

现在我想加快jQuery的速度。

例如,

将所有学生ID和主题ID加载到jQuery数组中。然后使用jQuery循环或任何其他方式向PHP发送请求以处理结果。

2 个答案:

答案 0 :(得分:1)

你所说的话没有多大意义。但是,根据上面的算法描述,您似乎在选择学生,科目,循环中的标记以及为每个学生的科目标记命中数据库。相反,请使用表连接(left joininner join等)。

SELECT s.*, sb.*, SUM(m.value)
FROM students AS s
  LEFT JOIN subjects as sb ON s.id = sb.student_id
  INNER JOIN marks AS m ON sb.id = m.subject_id
GROUP BY s.id, sb.id

使用此查询,您将使用数据库计算查询中的一个替换1000个查询。 MySql将以更优化的方式运行查询,并且需要更少的资源。

答案 1 :(得分:0)

很难说出你的真正问题是什么,但听起来你要做的第一件事就是避免这些循环。也许你可以使用一些存储过程将部分逻辑移动到数据库中?

大量数据库镜头可能会显着影响性能。