精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

第3期:功夫都在報表外-漫談報表性能優化

企業動態
應用系統中的報表,作為面向業務用戶的窗口,其性能一直被高度關注。用戶輸入參數后都希望立即就能看到統計查詢結果,等個十幾二十秒還能接受,等到三五分鐘的用戶體驗就非常惡劣了。那么,報表為什么會慢,又應當從哪里入手進行性能調優呢?

第三期封面圖片 

應用系統中的報表,作為面向業務用戶的窗口,其性能一直被高度關注。用戶輸入參數后都希望立即就能看到統計查詢結果,等個十幾二十秒還能接受,等到三五分鐘的用戶體驗就非常惡劣了。

那么,報表為什么會慢,又應當從哪里入手進行性能調優呢?

數據準備

當前應用中的報表大都用報表工具開發,當報表響應太慢時,不明就里的用戶就會把矛頭指向使用報表工具的開發人員或者報表工具廠商。其實,大多數情況報表的慢只是個表現,背后的原因是數據準備太慢,在數據進入報表環節之前就已經慢了,這時再去優化報表開發或壓迫報表工具并沒有用處。

報表是給人看的,人類視力限制不可能查看過多數據,也就沒有大數據的呈現需求。報表工具為了直觀而采用的狀態式計算模型,也不適合實現有復雜過程的計算。報表環節不應當也無能力解決大數據和復雜計算問題,只要處理小數據的擺位和簡單計算,這不會耗用太多時間。

八成左右的報表慢是因為數據準備造成的。報表呈現的數據量雖然小,但涉及的原始數據量可能巨大,把大數據匯總和過濾成小數據需要很長時間;復雜計算也是類似,主要時間消耗在數據準備階段。數據準備的優化是報表提速的關鍵。

1. 優化數據準備代碼:一般是SQL(或存儲過程),某些時候是應用程序的代碼(涉及非數據庫或多數據庫時);

2. 數據庫擴容:數據量大,代碼不能再優化時,還可以擴容數據庫,比如采用集群方案;

3. 采用高性能計算引擎:傳統數據庫在實現某些運算時性能較差或成本太高,可以更換為其它計算機制。

數據計算

報表環節本身計算性能差的情況相對少,但也是有的。

一個典型的場景是多源關聯報表,即把多個二維數據集按某個主鍵對齊呈現,有時可能還需要分組匯總。報表工具要求把計算都寫進單元格,這樣只能用數據集過濾來描述本格和其它數據集的關聯,類似ds2.select(ID==ds1.ID)的表達式。這個運算復雜度是平方級的,在數據量不大時也無所謂,但數據量稍大(幾千行)且涉及數據集較多時,性能就會急劇下降,從幾秒到幾十分鐘都有可能。

如果我們把這個運算移到報表外,在數據準備階段時處理,就可以大幅度提升性能。如果數據來自同一個數據庫,那么用SQL寫JOIN語句就可以了,如果數據集來自多庫或者希望減輕數據庫計算壓力,也可以在外部實現HASH JOIN算法。HASH JOIN算法可以整體地看待幾個數據集,效率比報表工具采用的過濾式關聯要高得多,幾千行規模時幾乎是零等待。

報表計算性能差雖然發生在報表環節本身,但經常卻要在報表外去解決。

其它類似場景還有,如帶部分明細行的分組匯總表,表現出來是由于報表環節處理數據量大導致運算變慢,而解決方法也是把運算移到報表外。

數據傳輸

報表還有個慢的瓶頸在于數據傳輸。

目前很多應用都是J2EE架構的,采用的報表工具也是Java寫的,這時訪問數據庫都要用JDBC接口。然而,某些常用數據庫的JDBC驅動性能很差(這里就不點名了),取出數據量稍多(幾萬行)時就會有明顯的等待感。這就導致一個無奈的現象:數據庫壓力很輕計算很快,報表端計算也不算復雜,但報表仍然很慢。

無論應用開發商還是報表工具廠商都沒辦法改變數據庫的JDBC驅動,只能在外面想辦法。經過多次實驗,我們發現啟用多線程并行取數就能獲得數倍的性能(前提是數據庫負擔輕)。但是,目前還沒有報表工具直接提供了并行取數的功能(由于數據分段方法和數據庫及取數語法相關,需要代碼控制,也不容易做成報表功能),這個方案仍然要在報表環節外的數據準備階段來實施。

可控緩存

把近期訪問過的報表緩存起來,短時間內再次訪問同參數的報表時可以不必計算而直接返回,顯然這能改善用戶體驗。很多報表工具也都提供有緩存功能,不過并不細致,緩存只能針對整個報表,而且各個報表的緩存是無關的。在報表外下點功夫可以實現控制力度更細致的緩存功能:

1. 部分緩存。有些報表、特別是常見的多源報表,其中大部分數據相對穩定(歷史數據),只有小部分數據時效性差(當期數據)。而整個報表的緩存的有效期只能以較短的為準,這樣會導致報表經常被重算。如果能只緩存部分數據,就能延長這部分緩存的生命期,從而減少計算量。

2. 緩存復用。不同的報表可能引用到同樣的數據,而互相無關的報表緩存機制則會迫使這些報表多次重復計算同樣的數據。如果能讓某個報表引用到其它報表已經計算出來的緩存數據,也能有效減少計算量。

這些復雜的緩存控制需要編寫代碼來實現,不容易在報表工具中提供,但在可編程的數據準備階段實施卻相對容易。

清單列表

前面說過,報表和大數據的直接關系并不大。甚至可以說老是喊大數據報表的廠商多半是忽悠。

不過有一種清單列表確實是大數據報表。清單列表在金融行業經常碰到,把一段時間的交易清單列出來。其特點是數據量特別大,可能會有幾千上萬頁,不過計算會相對簡單,經常只是羅列,最多有些按頁按組的匯總。

報表工具為了處理靈活的格間運算,一般都會采用全內存方式。這樣,把清單列表加載進報表工具時,會大概率出現內存溢出;而且太大數據量全部取出并加載也需要很長時間,用戶難以容忍。

容易想到的辦法是邊讀取邊呈現,每次只呈現一頁,不會溢出;讀滿一頁后立即呈現,用戶不會有太強的等待感。數據庫都提供有游標可以逐步讀出數據,但用戶可能在前端翻頁,這還需要高速隨機按頁(行)取數的能力。數據庫就沒有這種接口了,用條件過濾取數不僅很慢,而且還由于數據可能仍在更新而不能保證報表在生命周期內的數據一致性。

結果還是要在數據準備階段解決。兩個異步線程:一個負責從數據庫取數并緩存到外存(假定數據量大內存裝不下),另一個接受前端請求從緩存中按頁(行)取出數據返回。

責任編輯:杜寧 來源: 51CTO專欄
相關推薦

2017-06-14 23:08:29

報表數據計算層

2017-06-12 13:18:51

數據報表計算

2017-09-27 18:21:36

報表性能集算器

2020-12-17 11:13:34

積木報表帆軟報表開源1.0-beta

2020-11-23 09:47:39

技術資訊

2017-05-19 22:46:36

多維后臺性能優化手段

2016-12-27 18:10:37

華為敏捷網絡

2009-07-04 00:50:38

2018-03-15 15:12:00

潤乾報表集成

2016-12-22 10:30:45

報表系統大數據

2017-12-10 22:48:53

JOIN運算外鍵

2010-06-17 12:35:49

SQL Server數

2017-05-25 08:56:22

硬盤性能特征

2018-02-06 23:30:07

文件存儲數據

2017-09-18 19:20:23

帆軟潤乾報表

2017-12-12 22:58:57

JOIN外鍵運算

2016-07-14 16:03:41

華為

2016-07-14 15:26:33

華為

2011-04-08 11:13:10

2016-07-14 16:58:18

華為
點贊
收藏

51CTO技術棧公眾號

亚洲成人高清| 美女黄视频在线观看| 欧美亚洲三级| 国产亚洲人成网站在线观看| 五月天婷婷亚洲| 污影院在线观看| 91日韩精品一区| 国产日韩欧美在线播放| 国产精品23p| 经典一区二区| 日韩三级.com| 熟女人妇 成熟妇女系列视频| 国产黄色小视频在线| 99久久精品免费看| 91色琪琪电影亚洲精品久久| 国偷自拍第113页| 999成人精品视频线3| 亚洲成人激情视频| www.成人黄色| 我爱我色成人网| 亚洲一级不卡视频| 中文字幕一区二区三区精彩视频| 亚洲色图欧美视频| 国产剧情在线观看一区二区| 日韩av免费在线观看| 青娱乐91视频| 99热在线成人| 一区二区三区视频在线| 在线黄色免费网站| 国色天香久久精品国产一区| 在线一区二区视频| www.爱色av.com| 黄色在线看片| 亚洲欧美日韩国产另类专区| 亚洲v国产v| 欧美69xxxxx| 97精品国产露脸对白| eeuss一区二区三区| 国产精品久久久久久久久久久久久久久久 | 丝袜中文在线| 亚洲欧洲www| 一区二区三区四区在线视频| 成人午夜电影在线观看| 91久色porny| 精品一卡二卡三卡四卡日本乱码| 性生活免费网站| 国产一区二区h| 91免费精品视频| 国产精品羞羞答答在线| 精品一区二区三区久久久| 国产精品久久久久久婷婷天堂| 中文字幕激情小说| 蜜桃视频一区| 国产精品第一页在线| 中文字幕高清在线免费播放| 亚洲影音先锋| 国产成人一区二区三区| 久久精品视频2| 欧美aa在线视频| 国产美女被下药99| 国产精品永久久久久久久久久| 麻豆91小视频| 亚洲伊人一本大道中文字幕| av中文字幕在线免费观看| 国产一区欧美日韩| 99国精产品一二二线| 丰满大乳国产精品| 97久久超碰国产精品| 欧美精品一区在线| 中国日本在线视频中文字幕| 亚洲欧美综合另类在线卡通| 久久观看最新视频| 国产777精品精品热热热一区二区| 亚洲成a人v欧美综合天堂下载| 国产伦精品一区二区三区四区视频_ | av污在线观看| 日本一区二区中文字幕| 日韩欧美亚洲一区二区| 91九色蝌蚪porny| 国产精品美女久久久久久不卡| 亚洲天堂av在线免费| 日本爱爱小视频| 尤物精品在线| 国产精品成人在线| 国产手机av在线| 99re热这里只有精品视频| 久久这里精品国产99丫e6| youjizz在线播放| 亚洲女同一区二区| 噜噜噜久久亚洲精品国产品麻豆| 国产亚洲一区二区手机在线观看| 欧美高清激情brazzers| 中国免费黄色片| 欧美偷拍综合| 欧美激情18p| 久久精品久久久久久久| 国产在线日韩欧美| 久久精品国产精品青草色艺 | 日本一区二区三区在线观看| 992tv成人免费观看| 涩涩网在线视频| 88在线观看91蜜桃国自产| 日本一区二区在线免费观看| 区一区二视频| 992tv成人免费影院| 亚洲手机在线观看| 99久久er热在这里只有精品66| 亚洲精品乱码视频| 美女高潮在线观看| 91精品国产综合久久婷婷香蕉| 黄色录像a级片| 亚洲精品网址| 国产成人精彩在线视频九色| www国产一区| 中文字幕亚洲一区二区va在线| 婷婷无套内射影院| 国产精品久久免费视频| 国产视频久久网| 欧美精品色哟哟| 久久精品国产99国产| 精品一区二区三区免费毛片| 在线中文字幕电影| 欧美美女一区二区三区| xxxx日本免费| 国产精品日韩| 成人女人免费毛片| caoporn免费在线| 欧美人与性动xxxx| 黄色片网站免费| 香蕉视频成人在线观看| 国产精品日韩高清| 中文字幕免费高清电视剧网站在线观看| 色素色在线综合| 中出视频在线观看| 亚洲国产三级| 成人女人免费毛片| 天天色天天射天天综合网| 欧美日韩不卡视频| 四虎国产成人精品免费一女五男| 美女国产精品| 蜜桃传媒视频麻豆第一区免费观看 | 欧美华人在线视频| 国产精品一区二区三区在线免费观看| 欧美高清一级片在线观看| 日韩精品一区二区三区色欲av| 日本久久成人网| 6080yy精品一区二区三区| 亚洲国产www| 亚洲午夜三级在线| 国模无码视频一区| 国产午夜精品一区二区三区欧美| 韩国成人动漫在线观看| 免费毛片b在线观看| 日韩极品精品视频免费观看| 免费日韩一级片| 91网上在线视频| 国产麻花豆剧传媒精品mv在线| 日本欧美韩国国产| 国产精品成人播放| 北岛玲一区二区三区| 欧美亚州韩日在线看免费版国语版| 国产真人做爰视频免费| 免费的成人av| 黄色录像特级片| av综合网站| 91福利视频在线观看| 欧美挠脚心网站| 欧美色区777第一页| 青花影视在线观看免费高清| 国产另类ts人妖一区二区| 僵尸世界大战2 在线播放| 日韩大胆成人| 国产极品精品在线观看| 九色porny在线| 精品国产乱码久久| 在线观看国产亚洲| 中文字幕精品一区| 超碰人人cao| 国产视频一区三区| 亚洲午夜精品一区二区三区| 亚洲日本va| 日本sm极度另类视频| av资源网在线观看| 精品国免费一区二区三区| 久久久久女人精品毛片九一 | 亚洲一区三区电影在线观看| 人人爱人人干婷婷丁香亚洲| 2019中文字幕免费视频| 日本最新在线视频| 日韩av一区二区在线| 最新中文字幕第一页| 亚洲一二三四久久| av永久免费观看| 国产99久久久国产精品免费看| 波多野结衣50连登视频| 婷婷久久综合| 麻豆传媒一区二区| 日本一区二区三区播放| 国产精品电影一区| 丰乳肥臀在线| 自拍亚洲一区欧美另类| 天天躁日日躁狠狠躁伊人| 欧美蜜桃一区二区三区| 日韩欧美亚洲国产| 国产精品国模大尺度视频| 丝袜熟女一区二区三区| 久久国产麻豆精品| 欧美极品欧美精品欧美| 亚洲欧美网站在线观看| 欧美中日韩免费视频| 亚洲国产中文在线| 国产精品丝袜视频| 天天综合av| 欧美激情精品久久久久久大尺度 | 欧美一级大片视频| 女子免费在线观看视频www| 中文字幕免费精品一区| 午夜视频免费在线| 欧美v日韩v国产v| 国产精品探花视频| 欧美亚洲国产怡红院影院| 久久高清免费视频| 亚洲免费在线播放| 国产视频123区| 久久久电影一区二区三区| 欧洲成人午夜精品无码区久久| 青青草97国产精品免费观看无弹窗版| 妞干网在线视频观看| 欧美成人中文| 在线视频一二三区| 99九九热只有国产精品| 日韩偷拍一区二区| 无码日韩精品一区二区免费| 好吊色欧美一区二区三区四区| 国产日韩欧美中文在线| 成人a在线观看| 热久久久久久| 成人黄在线观看| 日本午夜精品久久久久| 国产免费成人av| 99久久er| 国产精品嫩草视频| 久久亚洲精品人成综合网| 国产精品av网站| 91九色综合| 国产精品入口免费视频一| 外国电影一区二区| 国产精品欧美一区二区| 123成人网| 国产美女主播一区| 精品网站999| 国产精华一区| 精品三级av| 久久婷婷人人澡人人喊人人爽| 牛牛影视久久网| 蜜桃麻豆91| 菠萝蜜一区二区| 日本一区二区精品视频| 色88久久久久高潮综合影院| 一区二区成人国产精品 | 精品亚洲免a| 久久久精彩视频| 嫩草一区二区三区| 亚洲视频在线观看日本a| 羞羞答答成人影院www| 69精品丰满人妻无码视频a片| 在线成人黄色| 日韩欧美精品在线观看视频| 日韩激情一区二区| 天堂av手机在线| 成人免费毛片app| 国产精品1000部啪视频| 国产精品色噜噜| 久热这里有精品| 精品美女久久久久久免费| 91美女免费看| 欧美精品日日鲁夜夜添| 狠狠躁日日躁夜夜躁av| 亚洲性夜色噜噜噜7777| 黄色网址在线免费观看| 国内伊人久久久久久网站视频 | 亚洲日本理论电影| 中文精品电影| 91好吊色国产欧美日韩在线| 日本美女一区二区三区视频| 中文字幕剧情在线观看| av资源站一区| 在线免费看视频| 亚洲国产精品欧美一二99| www.国产毛片| 日韩视频永久免费| 你懂的视频在线| 久久天天躁狠狠躁夜夜躁| 精品极品在线| 成人在线观看视频网站| 亚洲bt欧美bt精品777| 亚洲无玛一区| 国产精品一区毛片| 午夜诱惑痒痒网| 国产区在线观看成人精品| 久久久精品人妻一区二区三区四| 欧美日在线观看| wwwav网站| 久久韩剧网电视剧| 亚洲日本天堂| 国产精品久久久久av福利动漫| 成人羞羞网站入口| 日本免费不卡一区二区| 国产一区视频导航| av电影网站在线观看| 亚洲国产精品久久久男人的天堂 | 黑人精品欧美一区二区蜜桃| aa一级黄色片| 一区二区免费在线| 91国产免费视频| 亚洲人高潮女人毛茸茸| av中文资源在线资源免费观看| 国产综合福利在线| 精品视频免费| 女人天堂av手机在线| 国产**成人网毛片九色 | 国产传媒一区| 欧美激情国产在线| 99草草国产熟女视频在线| kk眼镜猥琐国模调教系列一区二区| 性欧美videos| 欧美精品一二三| 日韩精品成人av| 国产精品久久久久久久久久久不卡| 国产精品色在线网站| 永久免费看av| 国产麻豆精品theporn| 激情五月激情综合| 欧美日韩午夜在线视频| 国产在线你懂得| 国产成人a亚洲精品| 免费毛片在线不卡| 欧美日韩第二页| 久久午夜色播影院免费高清| 国产农村妇女aaaaa视频| 亚洲国模精品一区| 99在线视频影院| 国产一区二区三区奇米久涩| 1024日韩| 久久人人妻人人人人妻性色av| 激情成人在线视频| 亚洲人成色777777精品音频| 91精品国产91久久| 日韩mv欧美mv国产网站| 日韩avxxx| 欧美激情一区二区三区| 成人黄色片在线观看| 永久555www成人免费| 久久av日韩| 五月天综合婷婷| 国产激情一区二区三区桃花岛亚洲| 极品盗摄国产盗摄合集| 日韩欧美在线123| 国产www视频在线观看| 国内不卡一区二区三区| 久久成人在线| 懂色av蜜臀av粉嫩av永久| 欧美精品乱人伦久久久久久| 最新超碰在线| 国产一区二区三区高清| 噜噜噜躁狠狠躁狠狠精品视频| 少妇真人直播免费视频| 欧美亚男人的天堂| a视频在线观看免费| 国产日韩欧美亚洲一区| 久久先锋影音| 夫妻性生活毛片| 欧美精品一区二区三区蜜桃 | 欧美片第1页综合| 少妇被狂c下部羞羞漫画| 日韩欧美福利视频| 香蕉视频网站在线观看| 91手机在线播放| 翔田千里一区二区| 日韩福利小视频| 日韩极品精品视频免费观看| 欧美日韩免费电影| 人妻无码一区二区三区四区| 本田岬高潮一区二区三区| 这里只有精品国产| 欧美情侣性视频| 国产精品亚洲二区| 色姑娘综合天天| 色一情一伦一子一伦一区| 成人三级网址| 日本一区二区三区四区在线观看| 国产盗摄精品一区二区三区在线| 国产成人无码精品久在线观看 | 欧美性大战久久久久| 韩国理伦片一区二区三区在线播放 | 精品久久久久久中文字幕| 免费高清完整在线观看| 久久综合精品一区| 狠狠色狠狠色合久久伊人| youjizz在线视频|