跪求 大神们  帮忙解决分页。。问题。。原理是什么
现在 全是用的逻辑分页性能太差了,,而且最多限制5w条数据

解决方案 »

  1.   

    这个真不是一句两句可以说清楚的,给楼主两个地址一看就能明白了
    1,http://www.lupaworld.com/article-227170-2.html  两者比较的
    2,http://www.open-open.com/doc/view/1d90cabb4b5544a5b40a5d69009a5ab1 讲HIVE原理的
    我的智能创意,请您[b]支持一下[/b],谢谢!
      

  2.   

    int pageNo = 1;
    int pageSize = 10;
    long startTime = System.currentTimeMillis();
    DbConnectionManager dbm = DbConnectionManager
    .getInstance(JarConf.DBTYPE);
    Connection conn = dbm.getConnection(JarConf.DBTYPE);
    dbm.freeConnection(JarConf.DBTYPE, conn);
    jdbcTemplate = new JdbcTemplate(conn);
    long pageStart = jdbcTemplate
    .queryForLong("select min(id) from 1edata.ammeter");
    int size = (pageNo - 1) * pageSize;
    pageStart += size;
    long potalRecords = jdbcTemplate
    .queryForLong("select count(1) from 1edata.ammeter");
    List list = jdbcTemplate
    .queryForList("select * from 1edata.ammeter where id >"
    + pageStart + " order by id asc limit " + pageSize);
    long endTime = System.currentTimeMillis();
    System.out.println("time:" + (endTime - startTime));
    System.out.println("potalRecords:" + potalRecords);
    System.out.println("pageStart:" + pageStart);
    System.out.println("list.size:" + list.size());
    for (Object o : list) {
    Map m = (Map) o;
    System.out.println("id:" + m.get("id") + ",frist_id:"
    + m.get("frist_id") + ",update_date:"
    + m.get("update_date") + ",price:" + m.get("price")
    + ",second_id:" + m.get("second_id"));
    }
      

  3.   

    用sqoop导入时,加个rowid,然后用以上代码查,1.1亿的数据,impala查要6-7秒。
      

  4.   

    再补三个连接给你
    思想:
    http://iyanlei.com/hive-page.html
    建立rownum 函数
    http://datasciencedavid.blog.163.com/blog/static/235853095201462575318/
    http://www.cnblogs.com/ggjucheng/archive/2013/01/30/2868993.html哈哈,给分吧.