返回顶部
首页 > 资讯 > 数据库 >报表连 hive,数据量比较大,怎么分页查询?
  • 429
分享到

报表连 hive,数据量比较大,怎么分页查询?

报表连hive,数据量比较大,怎么分页查询? 2015-05-22 19:05:10 429人浏览 绘本
摘要

Hive 提供了类似 oracle 的 rownum 机制,类似这样(效率比较差): select * from (select row_number() over (order by create_time d

报表连 hive,数据量比较大,怎么分页查询?

Hive 提供了类似 oracle 的 rownum 机制,类似这样(效率比较差):

select * from (select row_number() over (order by create_time desc) as rownum,u.* from user u) mm where mm.rownum between 10 and 15;

还有一种办法,如果表里有唯一标识字段也可以借助这个字段和 limit 实现。比如:
获取第一页数据:
注:同时需要记录这 10 条中最大的 id 为 preId,作为下一页的条件。

select * from table order by id asc limit 10;

获取第二页数据:
注:同时保存数据中最大的 id 替换 preId。

select * from table where id >preId order by id asc limit 10;

对于数据库分页, 这里曾经分析过存在的问题 大清单报表应当怎么做? 也给出了改善的思路,可以参考:
把取数和呈现做现两个异步线程,取数线程发出 sql 后就不断取出数据后缓存到本地存储中,呈现线程根据页数计算出行数到本地缓存中去获取数据显示。这样,只要已经取过的数据就能快速呈现,不会有等待感,还没取到的数据需要等待一下也是正常可理解的;而取数线程只涉及一句 SQL,在数据库中是同一个事务,也不会有不一致的问题。这样,两个问题都能得到解决。不过这需要设计一种可以按行号随机访问记录的存储格式,不然要靠遍历把记录数出来,那反应仍然会很迟钝。

画个图感受感受:

imagepng
②和③分别是两个线程,一个负责取数缓存,一个负责读缓存做报表呈现

看起来有点复杂,可直接用做好的工具: 海量清单与分组报表的实现
还能导出 excel,也能打印。

您可能感兴趣的文档:

--结束END--

本文标题: 报表连 hive,数据量比较大,怎么分页查询?

本文链接: https://lsjlt.com/news/6715.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 报表连 hive,数据量比较大,怎么分页查询?
    Hive 提供了类似 Oracle 的 rownum 机制,类似这样(效率比较差): select * from (select row_number() over (order by create_time d...
    99+
    2015-05-22
    报表连 hive,数据量比较大,怎么分页查询?
  • 报表连hive时数据量比较大如何分页查询
    小编给大家分享一下报表连hive时数据量比较大如何分页查询,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!Hive 提供了类似 Oracle 的 rownum 机制,类似这样(效率比较差):select * fro...
    99+
    2023-06-02
  • 报表连 MongoDB,数据量大报表慢,怎么做分页?
    MongoDB 没有关系数据库之类的分页机制,要实现分页查询得硬编码,可以通过实现 Pageable 接口来自定义分页类,具体网上有很多介绍。 硬编码的缺点是实现太复杂了,也不好维护,对报表开发人员的要求有点高。简单一点的方式是使用支持 ...
    99+
    2022-01-23
    报表连 MongoDB,数据量大报表慢,怎么做分页?
  • mysql中怎么查看哪些表数据量比较大
    这篇文章给大家介绍mysql中怎么查看哪些表数据量比较大,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。mysql如何查看哪些表数据量比较大      中有...
    99+
    2024-04-02
  • 大数据报表怎么做模糊查询
    这篇文章的内容主要围绕大数据报表怎么做模糊查询进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!在数据查询系统中,我们常常会遇到精准查询和模糊查询。我们...
    99+
    2023-06-04
  • php中mongodb怎么实现大数据分页查询
    在PHP中使用MongoDB进行大数据分页查询,可以通过使用skip()和limit()方法来实现。 示例代码如下: <php...
    99+
    2024-04-12
    php mongodb
  • oracle怎么查询某张表的数据量大小
    要查询表的数据量大小,可以使用以下SQL查询: SELECT SUM(bytes)/1024/1024 AS &qu...
    99+
    2024-03-07
    oracle
  • MongoDB数据量大报表慢该怎么办以及怎么做分页?
    MongoDB数据量大报表慢该怎么办以及怎么做分页?,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。MongoDB 没有关系数据库之类的分页...
    99+
    2024-04-02
  • 大数据报表怎么快速分页呈现
    今天就跟大家聊聊有关大数据报表怎么快速分页呈现,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。在说明这个问题的处理方法前,先了解下是什么原因导致的大数据量报表呈现慢的问题。一般不外乎这...
    99+
    2023-06-03
  • plsql怎么查询数据表大小
    在PL/SQL中,可以通过执行以下SQL语句来查询数据表的大小: SELECT segment_name AS t...
    99+
    2024-04-09
    plsql
  • oracle怎么查询表数据大小
    在Oracle中,可以使用以下方法查询表的数据大小: 使用查询语句查看表的行数和占用的空间大小: SELECT tabl...
    99+
    2024-05-13
    oracle
  • Laravel中怎么查询连表数据
    本篇内容主要讲解“Laravel中怎么查询连表数据”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Laravel中怎么查询连表数据”吧!建立两个数据表在编写相关代码之前,我们需要先建立两个数据表,...
    99+
    2023-07-05
  • oracle怎么查询数据库表数据量
    在Oracle数据库中,可以通过多种方式查询表的数据量。数据量通常指的是表中的行数。以下是一些常用方法来获取这些信息: 1、使用CO...
    99+
    2024-04-22
    oracle
  • plsql怎么查询表的数据量
    要查询表的数据量,可以使用以下SQL语句: SELECT COUNT(*) FROM 表名; 这条SQL语句将返回该表中的...
    99+
    2024-04-02
  • db2怎么查询表数据的数量
    要查询表的数据数量(即行数)在DB2数据库中,可以使用以下SQL语句: SELECT COUNT(*) FROM sche...
    99+
    2024-03-02
    db2
  • mysql怎么查询数据库表数量
    要查询数据库中的表数量,可以使用以下SQL语句: SELECT COUNT(*) FROM information_sche...
    99+
    2024-04-02
  • oracle怎么查询数据库表数量
    要查询数据库中的表数量,可以使用以下SQL语句: SELECT COUNT(*) FROM all_tables; 这条...
    99+
    2024-04-09
    oracle 数据库
  • mysql大数据量查询怎么优化
    在处理大数据量查询时,可以通过以下几种方法来优化查询性能: 使用合适的索引:通过在查询字段上创建索引,可以大大减少查询所需的时间...
    99+
    2024-04-12
    mysql
  • sql怎么快速查询大量数据
    要快速查询大量数据,可以采取以下几种方法: 使用索引:确保在查询中使用到的列上建立了合适的索引,这样可以大大提高查询的速度。 ...
    99+
    2024-04-09
    sql
  • hbase中怎么查询表数据大小
    在HBase中查询表数据大小可以通过HBase shell中的count命令来实现。具体操作步骤如下: 打开HBase shel...
    99+
    2024-03-02
    hbase
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作