国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

執(zhí)行多條耗時的sql,怎么優(yōu)化?

yangzc

問題描述

需要執(zhí)行5條查詢sql,每條sql執(zhí)行時間為2s,同步的情況需要10s,有什么方案辦法能優(yōu)化一下嗎?

隨便寫了一個demo

    public function test(Request $request)
    {
        $time = time();
        $sqlArr =[
            'select sleep(2);',
            'select sleep(2);',
            'select sleep(2);',
            'select sleep(2);',
            'select sleep(2);',
        ];
        foreach ($sqlArr as $sql){
            Db::select($sql);
        }
       return json(['code' => 0, 'msg' => 'ok','tt'=>time()-$time]);
    }

{
"code": 0,
"msg": "ok",
"tt": 10
}
988 3 0
3個回答

圍獵三鍋

協(xié)程或者異步吧

  • tanhongbin 2023-11-09

    直接放5個不同隊列,直接跑就完了唄 入隊可以用管道 瞬間的事

  • yangzc 2023-11-10

    怎么拿執(zhí)行的結(jié)果呢

  • tanhongbin 2023-11-10

    還要結(jié)果呀? 這種協(xié)程吧

  • yangzc 2023-11-10

    用swoole的協(xié)程嗎 workerman 好像沒有協(xié)程

Dalong

多條一次執(zhí)行。

  • 暫無評論
meows

給你兩條路:

  1. 你這SQL很耗時,單獨開個webman服務(wù)去處理,nginx 代理一下即可。
    具體參考:http://www.wtbis.cn/doc/webman/others/task.html#%E6%96%B0%E5%A2%9EHTTP%E7%AB%AF%E5%8F%A3
  2. 要不就用Swoole Hyperf 去寫這個接口。
  • 暫無評論
年代過于久遠,無法發(fā)表回答
??