是更好的解析和数组或许多查询到Mysql?

时间:2013-01-25 13:37:28

标签: php mysql

我有一个包含许多操作的表,一个字段是使用操作的日期时间“创建”的。 我需要找回一个数组,其中包含我在每周的每周,每周,每天,每周注册的动作数量。

最好做一个唯一的db请求并解析所有结果

    foreach($scans as $s) {
        $data['total']++;
        $t = strtotime($s['Scan']['created']);
        //week day
        @$data['weekday'][date('w',$t)]++;
        @$data['hour'][date('H',$t)]++;
        @$data['day'][date('d',$t)]++;
        @$data['month'][date('n',$t)]++;
    }

或带有count()函数的5个查询? 感谢

2 个答案:

答案 0 :(得分:2)

数据库可以最高效地执行这类任务。您应该将大部分数据处理卸载到数据库系统,这将为您进行各种优化,并留下PHP进行管理和演示。原则上你应该避免在PHP中循环数据来进行处理,除非你正在做演示文稿。

因此,您应该在一个查询中执行所有操作,并从数据库中获取最终结果。查看您的查询并尝试将您想要的所有内容组合到其中。也许你可以尝试从Stack Overflow获得帮助,如果你不能提出正确的查询(但打开另一个问题)。

答案 1 :(得分:0)

唯一的db请求并解析所有结果。网络开销会减少。