Mysql 有口才的地方有慢商量

Mysql 有口才的地方有慢商量,mysql,laravel-4,eloquent,Mysql,Laravel 4,Eloquent,我试着与有口才的人商量,但速度很慢。 我的代码 SQL生成 select * from `users` where `users`.`deleted_at` is null and ( SELECT count(*) from `friends` as `self_04b17053094a40fb70514325b892fc19` where `users`.`deleted_at` is n

我试着与有口才的人商量,但速度很慢。 我的代码

SQL生成

select  *
    from  `users`
    where  `users`.`deleted_at` is null
      and  
      ( SELECT  count(*)
            from  `friends` as `self_04b17053094a40fb70514325b892fc19`
            where  `users`.`deleted_at` is null
              and  `self_04b17053094a40fb70514325b892fc19`.`user_id` = `users`.`id`
              and  `friend_id` = '1'
              and  `state` = 'accepted'
              and  `users`.`deleted_at` is null
      ) >= 1
    order by  `name` asc
    limit  16

你的问题是?我相信更多的是sql问题。您是否尝试过在复合键上创建索引?最近在Laravel 5.2中对其进行了优化,因此如果您进行升级,您应该会获得更好的性能,特别是在PostgreSQL和SQLServer中。
select  *
    from  `users`
    where  `users`.`deleted_at` is null
      and  
      ( SELECT  count(*)
            from  `friends` as `self_04b17053094a40fb70514325b892fc19`
            where  `users`.`deleted_at` is null
              and  `self_04b17053094a40fb70514325b892fc19`.`user_id` = `users`.`id`
              and  `friend_id` = '1'
              and  `state` = 'accepted'
              and  `users`.`deleted_at` is null
      ) >= 1
    order by  `name` asc
    limit  16