尽量减少sql语句的执行数量
从你的表达上来判断
好像使用外连接和group by
一个sql语句就可以搞定

解决方案 »

  1.   

    谢谢您的提示,group by,但是该怎么用呢?
      

  2.   

    select count(a) as count1,count(b) as count2 from jilu where id='$wid' group by id
    还有你那个父表的可以考虑做成个数组,放到配置文件里面,减少连接mysql的次数.
      

  3.   

    select id,count(0) as counts from jilu group by id
      

  4.   

    jilu表里的id字段有没有做索引?做上索引后,速度可以快很多
      

  5.   

    其实各位.group by给了我新的思路,但是group by我不怎么熟悉.假设我要分组的是time,也就是里面的一个字段time,按照时间time来分组的话,找出各个时间段的记录条数,并储存在变量中,应该如何实现呢?
      

  6.   

    select time,count(0) as counts from table group by time
      

  7.   

    用group by进行分组查询试试!
      

  8.   

    那么,按照select time,count(0) as counts from table group by time这样分组后,如果得到分组的counts值?可是有多个按照时间段分组的数据集啊.怎么调用他们的统计量(count)呢?
      

  9.   

    select hour(time) as hr, count(0) as counts form tbl group by hr;
    这样行吗?
      

  10.   


    呵.time是其中一个字段,是数据表中一个字段,要利用这个字段进行分组,我会分,但问题是如何调用呢?
      

  11.   

    select time,count(0) as counts from table group by time
    同意
    JF
      

  12.   

    哈哈,估计楼Z没做索引,没注键,800W+的记录COUNT 一下在0.001S 之内
      

  13.   

    你如果用id(即id='$wid'这个id)建立索引就会相当快了。使用group by不是好主意。
      

  14.   

    把where里的字段都加上索引
    2-4万条数据应该非常的快才对
    group by一般都是比较慢的