Laravel mysql查询关闭服务器

时间:2017-07-06 13:35:42

标签: php mysql laravel

我目前正在使用Eloquent ORM使用Laravel php Framework构建应用程序。我只是试图优化此查询,因为显示结果需要很长时间。

这是代码,我如何优化它?

$messages = DB::table('mp as m1')
            ->select(DB::raw('m1.id as id, m1.user_id, m1.titre, m1.titremd5, content, m1.vu, users.name, users.slug, users.avatar, m1.horodateur, m1.id_conversation'))
            ->join('users', 'm1.user_id', '=', 'users.id')
            ->whereRaw('id_conversation IN (SELECT id FROM conversations_in WHERE user_id = '.Auth::user()->id.' AND visible=1 AND horodateur_fin = "") AND m1.id = (SELECT MAX(mp.id) FROM mp WHERE mp.id_conversation = m1.id_conversation)')
            ->orderBy('m1.id', 'DESC')
            ->paginate(10);

我不知道为什么这个工作如此缓慢,加载页面需要10秒钟。有人可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

为列添加db索引:horodateur_fin,visible