a表和b表 总数据也就是1万多条,加上条件查询两个表数据7000多条!执行速度非常缓慢,而且CPU占用50% 如果在写order by id desc执行就直接死机,但a表或b表用c表组合却没这种情况。这一般是什么情况sql语句
select a.id as aid,b.id as bid,a.uid,b.uid,a.title from a inner join b on a.uid=b.uid order by a.id desc limit 0,30limit 0,30 速度还可以,如果是 limit 500,30 就很明显的缓慢,cpu占用50% 在没加order by a.id desc的情况下可以执行,加上就死机,这一般是什么问题,谢谢各位

解决方案 »

  1.   

    测试一下,在查询窗口下执行sql语句是不是也是这么慢
      

  2.   

    一个连接,一万多条数据没道理这么慢,你看看uid 加索引没?
      

  3.   

    show index from a;
    show index from b;
    explain select a.id as aid,b.id as bid,a.uid,b.uid,a.title from a inner join b on a.uid=b.uid order by a.id desc limit 0,30贴出来看一下。
      

  4.   


    //试一下...
    select a.id as aid,b.id as bid,a.uid,b.uid,a.title from a left join b  where a.uid=b.uid  order  by  a.id  desc
      

  5.   

    select * from   a   inner   join   b   on   a.uid=b.uid   order   by   a.id   desc   limit   500,30 试试结果你就有了思路了