@mikej 按找我的理解的话,现在数据库中是有两个表 一个公共消息对应用户的阅读状态表A uid msgid readtype 一个是消息表B,里面保存了所有消息(私人消息及公共消息) uid (uid为0表示公共消息) msgid readtype content ctime etc... 由于没有使用过hbase不知道能不能做以下这种查询: 当前查找的用户cuid select * from ( select * from B where uid = cuid order by ctime desc limit 0,10 union select * from B where msgid in( select msgid from A where uid = cuid limit 0,10 ) ) as Temp order by Temp,ctime desc limit 0,10 代码就不一定对了,不过我的思路是这样