跪求 大神們 幫忙解決分頁。。問題。。原理是什么。。。
現在 全是用的邏輯分頁性能太差了,,而且最多限制5w條資料
uj5u.com熱心網友回復:
自己 頂一個uj5u.com熱心網友回復:
uj5u.com熱心網友回復:
這個真不是一句兩句可以說清楚的,給樓主兩個地址一看就能明白了1,http://www.lupaworld.com/article-227170-2.html 兩者比較的
2,http://www.open-open.com/doc/view/1d90cabb4b5544a5b40a5d69009a5ab1 講HIVE原理的
我的智能創意,請您[b]支持一下[/b],謝謝!
uj5u.com熱心網友回復:
不錯的啊。。uj5u.com熱心網友回復:
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"));
}
uj5u.com熱心網友回復:
用sqoop匯入時,加個rowid,然后用以上代碼查,1.1億的資料,impala查要6-7秒。uj5u.com熱心網友回復:
再補三個連接給你思想:
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
哈哈,給分吧.
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/102933.html
標籤:云存儲
