如何加速具有count命令的select语句

时间:2014-03-13 13:10:56

标签: mysql sql database count

我正在使用Mysql5.x,为具有名为fld_experience的整数字段的用户提供数据库表。顾名思义,它保留了用户的体验,我想在整个列表中获得用户的顺序(排名),因此我将能够在整个表格中显示用户的排名。由于其他用户'经验可能随时改变,我不能将等级存储为字段,必须按需计算。

这是sql语句我得到用户的命令

SELECT COUNT( fld_experience ) + 1 
FROM tbl_users 
WHERE fld_experience > ( SELECT fld_experience 
                         FROM tbl_users 
                          WHERE fld_user_id = ?) 

我想加快这个要求,我该怎么做? 我真的很想知道索引fld_experience是否有效。

1 个答案:

答案 0 :(得分:0)

SELECT COUNT( fld_experience ) + 1 
FROM tbl_users, ( SELECT fld_experience 
                         FROM tbl_users 
                          WHERE fld_user_id = ?) selected_user
WHERE fld_experience > selected_user.fld_experience