$sql = 'select t.user_id,t.usetime,t.etime,u.user_name from ' . $GLOBALS['ecs']->table('ptgame') . ' as t, ' . $GLOBALS['ecs']->table('users') . 'as u where t.user_id = u.user_id and usetime = (select min(usetime) from ' . $GLOBALS['ecs']->table('ptgame') . ' where ' . $GLOBALS['ecs']->table('ptgame') . '.user_id = t.user_id and pic = "' . $game_pic . '" order by etime) group by user_id order by usetime,etime limit 10;';我用这个语句来查询表ptgame当中所有用户成绩中用时最短的成绩,每个用户只取最好的一次,如果有两个用户用时相同,则最先完成的(etime,完成的时间)排在前面,同时根据id显示user表中该用户的名字。这个查询本身是可以出来正确结果的,但是效率很低,在记录多的情况下很慢,哪位高手可以帮忙优化一下?