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}
不过换成了这种之后查询效率明显要慢了,不过解决了我的问题。
如果大家有好的解决办法,欢迎分享。。。。。。。。。。。。
上边搭建环境的时候提到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}
不过换成了这种之后查询效率明显要慢了,不过解决了我的问题。
如果大家有好的解决办法,欢迎分享。。。。。。。。。。。。
相关文章推荐
- Android客户端,PC服务器,Socket连接所遇到的问题
- oracle 9i windows 客户端连接报ora-12535问题小结
- 解决客户端通过zookeeper连接到hbase时连接过多的问题
- 大数据集群遇到的问题(Hadoop、Spark、Hive、kafka、Hbase、Phoenix)
- Phoenix安装使用及使用 SQuirrel客户端连接操作Hbase
- hbase0.96+hadoop2.2分页中遇到的问题
- centos6.5搭建git服务器 win10 安装git客户端连接 和遇到的问题+解决方式
- 今天遇到的一个问题(windows的ssh客户端连接不到虚拟机Ubuntu)
- 解决客户端通过zookeeper连接到hbase时连接过多的问题
- eclipse远程连接hbase遇到的问题
- 编写ftp客户端连接linux自带ftp服务vsftpd中遇到的问题
- 用StackExchange.Redis客户端连接阿里云Redis服务遇到的问题
- java 连接虚拟机centos中的 hbase(单机版)遇到的问题
- Hbase在连接api时遇到的问题
- window 7 下用MyEclipse编写Java程序连接HBase时遇到的问题
- 解决客户端通过zookeeper连接到hbase时连接过多的问题
- 在使用 SQL Server 的过程中,用户遇到最多的问题莫过于连接失败了。一般而言,有两种连接SQL Server 的方式,一是利用 SQL Server 自带的客户端工具
- Android通过webservice连接SQLServer 详细教程以及所遇到的问题解答(数据库+服务器+客户端)
- 商贸通服装鞋帽版客户端无法连接服务器的问题(自己遇到的,已解决)
- Windows Vista 的计算机上尝试打开某些网站时,可能会遇到 Internet 连接速度变慢的问题,并可能收到错误消息:“Page could not be displayed”(该页无法显示)