SELECT * FROM User ORDER BY UserName Limit 80000, 20超慢,怎么优化?上面这条语句超慢,请问怎么优化?

解决方案 »

  1.   

    UserID是主键,GUID值。
    UserName做了索引
      

  2.   

    才20条记录  拿出来再排序吧 去掉order by
      

  3.   

    SELECT UserName  FROM User ORDER BY UserName Limit 80000, 20速度如何?
      

  4.   

    select u.*
    from User u ,(SELECT UserName  FROM User ORDER BY UserName Limit 80000, 20) b
    where u.UserName =b.UserName 
      

  5.   


    这个也要3,4秒,换成下面这个可以提高到1.5秒左右,但还是有些慢。
    select u.*
    from User u ,(SELECT UserID  FROM User ORDER BY UserName Limit 80000, 20) b
    where u.UserID=b.UserID
      

  6.   

    create index on User (UserName ,UserID  );语句上没什么可优化的了,添加如上索引如仍不满意,则提高你的硬件速度。
      

  7.   


    用UserName做相等匹配,是不是会有相同UserName的数据在分页时永远取不出来