查询表中数据条数
mysql> select count(*) from point;
+----------+
| count(*) |
+----------+
| 163134 |
+----------+
1.查找表中相同userID最大日期,再利用最大日期去查找这条记录
mysql> select t.userid, t.point from point t where addtime = (select max(addtime) from point tmp where t.userid = tmp.userid) and userid ='fff024306a104';
+---------------+---------+
| userid | point |
+---------------+---------+
| fff024306a104 | 3117.50 |
+---------------+---------+
1 row in set (5.94 sec)
2.用userID分组取最大日期生产临时表,再和原表做INNER JOIN
mysql> select t.userid, t.point from point t inner join (select max(addtime) addtime from point group by userid) tmp on t.addtime = tmp.addtime and t.userid ='fff024306a104';
+---------------+---------+
| userid | point |
+---------------+---------+
| fff024306a104 | 3117.50 |
+---------------+---------+
1 row in set (0.42 sec)
查询时间第一种是第二种方法的10倍还多