baidu_32809053
Hobart-Ljw
2019-04-15 16:21

根据时间戳分页排序问题

20
  • java
  • postgresql
  • mysql
  • hibernate
  • java-ee

我们现在有一张消息表 t_message,字段有 id(int),content(varchar),user_id(int),gtm_create(timestamp)。
我们这边是按照时间戳gmt_create来排序分页的.
语句如下:

第一页的sql:
select * from t_message order by gmt_create DESC limit 20;

第二页的sql:
select * from t_message where gmt_create<'第一页最后一条消息的时间戳' order by gmt_create DESC limit 20;

但是现在出现了一个问题,我们现在群发了40条消息,**时间戳都是相同的**

导致我们分页查询的时候第一页是正常的,直到第二页的时候其余20条数据就丢了。

我目前只能想到的办法就是对创建消息丢进消息队列里,一条一条的排队处理,这样有消息的时间戳就能保证不一样了!!

各位大佬还有什么好的解决办法呢??

  • 点赞
  • 回答
  • 收藏
  • 复制链接分享

5条回答