Php 对Mysql更好的是解析和数组还是多查询?

Php 对Mysql更好的是解析和数组还是多查询?,php,mysql,Php,Mysql,我有一个包含许多操作的表,一个字段是用操作的日期时间“创建”的。 我需要返回一个数组,其中包含我在一个周期范围内每小时、每周、每天、每月注册的操作数 最好是执行唯一的db请求并解析所有结果 foreach($scans as $s) { $data['total']++; $t = strtotime($s['Scan']['created']); //week day @$data['weekday'][date('w',

我有一个包含许多操作的表,一个字段是用操作的日期时间“创建”的。 我需要返回一个数组,其中包含我在一个周期范围内每小时、每周、每天、每月注册的操作数

最好是执行唯一的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次查询?
感谢

一个独特的数据库请求并解析所有结果。网络开销会更少。

配备了一个数据库,可以以最佳效率准确地执行此类任务。您应该将大部分数据处理工作卸载到数据库系统,该系统将为您进行各种优化,并将PHP留给管理和表示。原则上,您应该避免在PHP中循环数据以进行处理,除非您正在进行演示


因此,您应该在一个查询中完成全部工作,并从数据库中获得最终结果。查看您的查询,并尝试将所有您想要的内容组合到其中。如果你不能提出正确的查询,也许你可以尝试从堆栈溢出中获得帮助(但要提出另一个问题)。

我认为一次最多可以有10000行,因此你需要提出一个查询,一步完成所有工作。10.000行是一个可能会减慢脚本速度的数字。对不起,我怎么能在一个查询中完成所有操作?我做了一个测试,同时测试了700行,超过700个查询获胜。但我做了5个查询,我不知道如何只做一个。最简单的方法?使用UNION链接您的查询:)