多用 MIN() MAX() 吧……

获取用户最后一次发帖的时间,可以用 MAX(timestamp) 做,也可以用 ORDER BY 做。

SELECT MAX(timestamp) FROM pre_forum_thread WHERE /* ... */

SELECT timestamp FROM pre_forum_thread WHERE /* ... */ ORDER BY timestamp LIMIT 0,1

结果使用 ORDER BY 的方法居然触发了 filesort QAQ~
好吧,以后坚决用 MAX() 和 MIN() 了……

标签: MySQL


已有 5 条评论
  1. 记得是where用的索引条件和order by不同的话,就要重新排序。如果 WHERE timestamp>xxx 之类的,再用 ORDER BY timestamp ,索引就有效了(当然这里WHERE肯定是要选择帖子之类的)。
    这种情况感觉还是MIN、MAX好些。

    1. BeatAll BeatAll

      coxxs 酷q机器人的作者吗

    2. 貌似能用MAX和MIN替换的时候这俩效率都挺高的

  2. 索引有问题

  3. 学习了 虽然不是很懂

添加新评论