一个表里面有五千万条数据 。
比如字段为id name age现在要取出前5000个出现次数最多的name查询怎么写才能高效? name列上没有索引 。。

解决方案 »

  1.   

    select name,count(*)
    from 一个表
    group by name
    order by 2 desc
    limit 5000这是唯一的SQL语句。 你需要做的是,添加索引!
      

  2.   

    没有索引,速度不会快
    select name from tt group by name order by count(*) desc limit 5000
      

  3.   


    select name from tb group by name order by count(*) desc limit 5000
      

  4.   

    order by count(*) .....
      

  5.   


    学习了order by count(*)  这个就是索引吗