第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

一次性查詢百萬級數(shù)據(jù)應(yīng)該怎么處理?

一次性查詢百萬級數(shù)據(jù)應(yīng)該怎么處理?

Mr_Li_0001 2015-03-11 11:06:51
比如現(xiàn)在有個(gè)需求,一個(gè)統(tǒng)計(jì)站的某張表有百萬行的數(shù)據(jù),需要通過一系列的計(jì)算來再展示到頁面(不能使用分頁),計(jì)算可以跳過,就單純的查詢.如下:?// long?d1?=?new?Date().getTime(); // List<Map<String,Object>>?result?=?service.findAll("select?*?from?t_hourly_apk_area",null); // System.out.println(result.size()); // System.out.println(new?Date().getTime()-d1);? ? ? 這樣查詢非常慢,并且JSP渲染也很慢。? ? ?這種情況下我考慮想了兩種辦法,一種是先加載一部分?jǐn)?shù)據(jù),到了JSP再通過AJAX主動發(fā)送請求獲取剩余數(shù)據(jù)。? ? ? 第二種是通過線程,比如數(shù)據(jù)共一百萬,那么我分三個(gè)線程查詢,每個(gè)線程查詢?nèi)f。如下:class?MyT?extends?Thread{ BaseService?bs; int?star; int?size; public?MyT(BaseService?bs?,?int?star,int?size)?{ this.bs=bs; this.star=star; this.size=size; } @Override public?void?run()?{ System.out.println("---------------------------------"); long?d1?=?new?Date().getTime(); List<Map<String,Object>>?x?=?bs.findAll("select?*?from?t_hourly_apk_area?limit?"+star+","+size,null); System.out.println(x.size()+"?----?"+this.currentThread().getName()); System.out.println(new?Date().getTime()-d1); System.out.println(""); System.out.println(""); } } @RequestMapping(value="/down") @Controller public?class?IndexAction?extends?BaseAction{ @RequestMapping(value="/test") public?String?test(){ // long?d1?=?new?Date().getTime(); // List<Map<String,Object>>?result?=?service.findAll("select?*?from?t_hourly_apk_area",null); // System.out.println(result.size()); // System.out.println(new?Date().getTime()-d1); MyT?mt1?=?new?MyT(service,?0,?500000); MyT?mt2?=?new?MyT(service,?500000,?500000); MyT?mt3?=?new?MyT(service,?1000000,?600000); mt1.start(); mt2.start(); mt3.start(); return?null; } }? ? ? 這樣做有個(gè)問題是,線程跑完了數(shù)據(jù)我怎么返回前臺?? ? ? 我的核心問題就是想請教下,JAVA一次性請求大量數(shù)據(jù)(不包含分頁等處理)的時(shí)候應(yīng)該怎么處理!
查看完整描述

2 回答

?
qq_小強(qiáng)_2

TA貢獻(xiàn)3條經(jīng)驗(yàn) 獲得超0個(gè)贊

如果瀏覽器可以接收這些數(shù)據(jù),你后臺用多線程的話 前端用websocket接收吧

查看完整回答
反對 回復(fù) 2015-03-11
  • Mr_Li_0001
    Mr_Li_0001
    我覺得我想的那個(gè)多線程辦法有點(diǎn)非主流- - 。
?
qq_小強(qiáng)_2

TA貢獻(xiàn)3條經(jīng)驗(yàn) 獲得超0個(gè)贊

100w數(shù)據(jù)不分頁你的客戶端瀏覽器展示得出來嗎?有點(diǎn)好奇


查看完整回答
反對 回復(fù) 2015-03-11
  • Mr_Li_0001
    Mr_Li_0001
    數(shù)據(jù)庫是百萬行,但是可以分組,JSP肯定是顯示不了百萬行的,現(xiàn)在的問題可以不在JSP上,就在DAO層解決這個(gè)問題。
  • 2 回答
  • 0 關(guān)注
  • 3629 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號