Php L5-为什么需要这么长时间?有更好的建议吗?

Php L5-为什么需要这么长时间?有更好的建议吗?,php,mysql,arrays,pdo,laravel-5,Php,Mysql,Arrays,Pdo,Laravel 5,我的控制器中有这个代码 /* 1 */ $header = DB::table('rekap_cmd')->select('date','uniqueid')->groupBy('date')->orderBy('date', 'DESC')->get(); $header = json_decode(json_encode($header), true); foreach($header as $names => $specs){

我的控制器中有这个代码

    /* 1 */
    $header = DB::table('rekap_cmd')->select('date','uniqueid')->groupBy('date')->orderBy('date', 'DESC')->get();
    $header = json_decode(json_encode($header), true);
    foreach($header as $names => $specs){
        /* 2 */
        $datax = DB::table('rekap_cmd')->where('uniqueid', $specs['uniqueid'])->get();
        $datax = json_decode(json_encode($datax), true);
        foreach($datax as $namess => $specss) {
            $datetime = new DateTime($specss['date']);
            $header[$names]['datetime']['date'] = $datetime->format('d-m-Y');
            $header[$names]['datetime']['time'] = $datetime->format('H:i');
        }
    }
    /* 3 */
    $data = DB::table('group_symbol')->select('symbol','alias')->where('for_surya', 1)->groupBy('alias')->get();
    $data = json_decode(json_encode($data), true);
    $odd='odd';
    foreach($data as $names => $specs) {
        if($odd=='odd'){
            $odd='even';
        }
        else{
            $odd='odd';
        }
        foreach($header as $namess => $specss) {
            /* 4 */
            $datax = DB::table('rekap_cmd')->where('uniqueid', $specss['uniqueid'])->where('symbol', $specs['alias'])->first();
            $data[$names]['data'] = [];
            $data[$names]['data']['class'] = $odd;
            if($datax){
                $data[$names]['data']['buy'] = ($datax->buy)/100;
                $data[$names]['data']['sell'] = ($datax->sell)/100;
            }
            else{
                $data[$names]['data']['buy'] = null;
                $data[$names]['data']['sell'] = null;
            }
        }
    }
说明:
1=将显示2507行(只需0.086s即可在PHPMyAdmin中显示结果)
2=将平均显示12行(只需0.014s即可在PHPMyAdmin中显示结果)
3=将显示30行(只需0.024s即可在PHPMyAdmin中显示结果)
4=将显示一行(只需0.000..s即可在PHPMyAdmin中显示结果)

但最终这段代码总共花费了18分钟
有人能解释为什么跑这么长时间吗?有人建议做得更好吗


任何帮助都将不胜感激。

您是在开发还是在生产?
json\u decode(json\u encode($data),true)像这样的东西要花很多钱。离开这些东西,玩普通阵列,这会让你更好。@revo development,有什么不同?@Chay22我试过了,只花了1秒左右。我还不确定。Chay22也提出了一个正确的观点。虽然我不认为这是罪魁祸首,但有许多不必要的
json\u decode
/
json\u encode
调用,没有它们,您也可以对行进行相同的访问:。您是否尝试使用PHP的
microtime()
查找导致此长期过程的块?您是在开发还是在生产?
json\u decode(json\u encode($data),true)像这样的东西要花很多钱。离开这些东西,玩普通阵列,这会让你更好。@revo development,有什么不同?@Chay22我试过了,只花了1秒左右。我还不确定。Chay22也提出了一个正确的观点。虽然我不认为这是罪魁祸首,但有许多不必要的
json\u decode
/
json\u encode
调用,没有它们,您也可以对行进行相同的访问:。您是否尝试使用PHP的
microtime()
来查找导致此持久过程的块?