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

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

1) 不带排序的状况:select * from table_name limit  X offset X  这仍是能够的排序

2)带排序的状况, 而且多表关联查询,在这里举一个工做中的例子大概来讲明一下:文档

SELECT * FROM 
        (
            SELECT it

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

            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}test

不过换成了这种以后查询效率明显要慢了,不过解决了个人问题。效率

若是你们有好的解决办法,欢迎分享。。。。。。。。。。。。select

相关文章
相关标签/搜索