您的位置:首页 > 其它

Phoenix客户端连接Hbase遇到的分页问题小结

2017-01-03 00:00 239 查看
摘要: Phoenix 分页 limit offset

上边搭建环境的时候提到phoenix 高版本支持limit offset进行分页,确实有了这个挺方便的。但是在使用过程中也遇到了点问题,就是带有order by时,直接在order by 之后使用limit offset 会出现问题,而且官方文档这块说实话写的不太详细。因此,自己在遇到这个问题的时候花了点时间摸索最终顺利把问题解决。因此在这里做下简单的总结:

1) 不带排序的情况:select * from table_name limit X offset X 这还是可以的

2)带排序的情况, 并且多表关联查询,在这里举一个工作中的例子大概来说明一下:

SELECT * FROM
(
SELECT

<!--注意这里不能含有* 否则出错-->
A.TOPIC_ID TOPIC_ID, A.MEDIA_PLATFORM_ID MEDIA_PLATFORM_ID,
B.INFO_ID INFO_ID, B.INFO_HEADLING INFO_HEADLING

FROM INFO_STATISTICS AS B INNER JOIN TOPIC_INFO_RELATED AS A
ON A.INFO_ID = B.INFO_ID
WHERE A.TOPIC_ID = #{topicId}
<if test="startDate != null and endDate != null">
AND A.PUBLISH_DAY BETWEEN #{startDate} AND #{endDate}
</if>
order by B.HEAT_RATE desc
offset #{start}
) limit #{rows}

不过换成了这种之后查询效率明显要慢了,不过解决了我的问题。

如果大家有好的解决办法,欢迎分享。。。。。。。。。。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐