精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

中文字幕在线观看一区| 日韩av网站在线观看| 日韩福利视频在线观看| 亚洲一区二区蜜桃| a级网站在线播放| 99久久精品99国产精品| 国产精品三级美女白浆呻吟| 欧美丰满艳妇bbwbbw| 久久不卡国产精品一区二区| 91麻豆精品国产91久久久久久 | 日本一本不卡| 717成人午夜免费福利电影| 国产精品裸体瑜伽视频| 日本中文字幕在线视频| 99免费精品在线| 成人精品一区二区三区电影免费 | 狠狠色综合色区| 精品乱码一区内射人妻无码 | 久久最新网址| 日韩一区二区视频| 少妇性l交大片| 福利网站在线观看| 亚洲人成精品久久久久久| 欧美激情第六页| 亚洲av无码乱码国产精品久久| 奇米精品一区二区三区在线观看 | 全球av集中精品导航福利| 欧美精品xxxxbbbb| 国产自偷自偷免费一区 | 99久久九九| 亚洲欧美综合v| 婷婷五月精品中文字幕| 麻豆精品一区| 欧美另类高清zo欧美| 男人的天堂99| 免费看男女www网站入口在线 | 国产成人一二三区| 97在线观看免费观看高清| 91老司机福利 在线| 国产精品麻豆免费版| 国产人妖在线播放| 久久se这里有精品| 国产精品久久久久久久av大片| 草久久免费视频| 国产精品二区影院| 欧美激情亚洲精品| 国产主播在线观看| 黄色日韩在线| 久久久之久亚州精品露出| 久久免费视频播放| 国产精品久久| 欧美黑人xxxⅹ高潮交| 久久久久成人精品无码| 欧美三级黄美女| 欧美黑人xxx| 国产精品第一页在线观看| 影音先锋亚洲精品| 97精品免费视频| 久久久久久久久久免费视频 | 国产自偷自偷免费一区 | 日韩午夜免费| 97在线日本国产| 国产成人无码精品久久久久| 99av国产精品欲麻豆| 欧美最顶级丰满的aⅴ艳星| 亚洲GV成人无码久久精品| 久久久久国产精品一区三寸| 热久久这里只有精品| 色婷婷久久综合中文久久蜜桃av| 青青草国产成人av片免费| 国产精品美乳一区二区免费| 中文字幕在线观看你懂的| 精油按摩中文字幕久久| 91中文字幕在线| 亚洲a视频在线观看| 99免费精品视频| 日韩久久在线| а√天堂8资源在线官网| 亚洲精品大片www| 国产午夜福利在线播放| 成人黄色图片网站| 日韩一区二区在线看| 给我免费观看片在线电影的| 激情综合网五月| 久久精品久久久久久| 国产亚洲自拍av| 久久天天综合| 96国产粉嫩美女| 五月婷婷六月丁香综合| 中文字幕国产一区| 日韩亚洲欧美视频| 视频一区在线免费看| 日韩一区二区在线免费观看| aa一级黄色片| 欧美va天堂| 日韩av电影中文字幕| 国产精品嫩草影院桃色| 99精品视频在线观看免费| 亚洲欧洲一区二区| 超碰在线视屏| 91精品国产手机| 99久久人妻无码中文字幕系列| 99久久夜色精品国产亚洲1000部| 久久久久久久久久久免费精品| 日韩在线 中文字幕| 国产一区二区成人久久免费影院 | 五月香视频在线观看| 亚洲成av人片| 日韩欧美理论片| 欧美男gay| 国内精品久久久久久中文字幕| 亚洲av无码乱码国产精品fc2| 国产成人精品综合在线观看| 午夜精品福利一区二区| 毛片电影在线| 日韩精品一区二区三区在线播放| 成人做爰69片免网站| 99热这里只有精品8| 亚洲最大福利视频网| 搞黄视频免费在线观看| 欧美日韩在线观看视频| 久久黄色一级视频| 日韩一区电影| 国产ts一区二区| 天天操天天插天天射| 亚洲激情图片一区| 亚洲国产日韩欧美在线观看| 一道在线中文一区二区三区| 欧美激情a在线| av网站在线免费看| 亚洲欧美自拍偷拍色图| 成 人 黄 色 小说网站 s色| 精品国产乱码久久久| 欧美性受xxx| 亚洲 欧美 自拍偷拍| 亚洲午夜一二三区视频| 韩国三级hd中文字幕有哪些| 欧美成人自拍| 国产精品女人网站| 北条麻妃在线| 欧美三级一区二区| 女人十八毛片嫩草av| 三级精品在线观看| 任我爽在线视频精品一| 日韩不卡免费高清视频| 亚洲欧洲中文天堂| 无码任你躁久久久久久久| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 天天综合色天天综合色h| 91福利视频免费观看| 欧美91精品| 国产精品区一区二区三在线播放| 黑人精品视频| 亚洲成人999| 日韩精品人妻中文字幕| 99精品在线观看视频| 熟女性饥渴一区二区三区| 精品久久不卡| 国产欧美日韩丝袜精品一区| 米奇777四色精品人人爽| 555www色欧美视频| 无码人妻精品一区二区三区夜夜嗨| 国产麻豆成人精品| 青草网在线观看| 日韩精品丝袜美腿| 国产成人亚洲综合91精品| av电影在线播放高清免费观看| 欧美精品在线一区二区三区| 欧美成人精品欧美一级私黄| av在线这里只有精品| 大陆极品少妇内射aaaaa| 国产欧美一区二区三区精品观看| 国产精品久久久久久久久久尿 | 亚洲国产福利视频| 红桃视频成人在线观看| 亚洲AV无码片久久精品| 日本中文在线一区| 激情成人开心网| 一区二区美女| 91手机在线观看| 久久青青视频| 久久黄色av网站| 天天干,夜夜爽| 欧美日韩一区二区三区在线| 九九在线观看视频| 久久精品日产第一区二区三区高清版| 一本色道久久亚洲综合精品蜜桃 | 中文字幕一区av| 国产日韩视频一区| 奇米精品一区二区三区在线观看| 4444亚洲人成无码网在线观看| 九一国产精品| 91黄色精品| 亚洲电影有码| 国模吧一区二区| 日韩毛片久久久| 亚洲久久久久久久久久| 国产三级伦理片| 色婷婷国产精品综合在线观看| 中文字幕五月天| 94色蜜桃网一区二区三区| 在线视频一二区| 日韩高清在线观看| 美脚丝袜脚交一区二区| 91亚洲成人| 欧洲精品一区色| 黄色成人美女网站| 亚洲专区在线视频| 国产经典一区| 国产91精品不卡视频| 亚洲综合影视| www.日本久久久久com.| 欧美成人综合在线| 精品久久人人做人人爽| 国产露脸91国语对白| 欧美影院一区二区三区| 免费日韩一级片| 亚洲伊人伊色伊影伊综合网| 精品无码一区二区三区蜜臀| 久久精品夜夜夜夜久久| 亚洲视频在线播放免费| 国产精品一级片| 第一区免费在线观看| 免费观看30秒视频久久| 人妻无码视频一区二区三区| 99香蕉国产精品偷在线观看| 久久久久久久久久久综合| 亚洲国产老妈| 自拍偷拍99| 久久精品99久久无色码中文字幕| 欧美不卡在线一区二区三区| 精品国产导航| 国产一区二区三区无遮挡| 一本色道69色精品综合久久| 91在线网站视频| 精品视频一区二区三区| 亚洲www在线观看| 亚洲一区有码| 成人网在线免费看| 9999精品视频| 亚洲永久免费观看| 色播一区二区| 99久久精品免费看国产四区 | www.5588.com毛片| 中文字幕一区二区三区四区| 国产极品美女在线| 亚洲男人的天堂在线aⅴ视频 | 精品福利免费观看| 中文在线观看免费网站| 午夜精品123| 懂色av.com| 欧美日韩在线视频观看| 51国产偷自视频区视频| 色婷婷综合五月| 日韩欧美国产另类| 欧美三级视频在线观看| 国产免费av观看| 日韩精品在线看片z| 欧美视频一二区| 日韩精品视频三区| 成人资源www网在线最新版| 俺去了亚洲欧美日韩| 中文字幕中文字幕在线中高清免费版| 久久久久久高潮国产精品视| 爱啪视频在线观看视频免费| 青青久久av北条麻妃海外网| 精品国产欧美日韩一区二区三区| 成人黄色av免费在线观看| 日韩一级淫片| 久久久久久久久四区三区| 欧美精选一区二区三区| 国产成人三级视频| 在线成人h网| 亚洲 欧美 日韩系列| 国产一区激情在线| 亚洲欧美色图视频| 中文在线资源观看网站视频免费不卡| 卡通动漫亚洲综合| 性久久久久久久| 在线观看中文字幕av| 精品久久久久久久人人人人传媒 | 9.1国产丝袜在线观看| 日韩久久一区二区三区| 亚洲一区二区三区sesese| 日韩高清电影免费| 一本色道久久综合亚洲精品婷婷| 欧美日韩天堂| 国产一区二区视频免费在线观看 | 色呦呦一区二区| 国产精品国产三级国产普通话99| 久久99久久久| 欧美色爱综合网| 天堂在线观看视频| 久久精品国产99国产精品澳门| h片在线观看下载| 国产精品亚洲自拍| 午夜先锋成人动漫在线| 精品日韩在线播放| 人禽交欧美网站| 熟女人妻在线视频| 亚洲乱码国产乱码精品精的特点| 在线免费观看av网址| 日韩欧美中文字幕一区| 第一页在线观看| 7777kkkk成人观看| 免费观看性欧美大片无片| 视频一区视频二区视频三区视频四区国产| 欧美三级第一页| 午夜精品久久久久久久99热影院| 久久伊99综合婷婷久久伊| 久久久综合久久久| 欧美一级生活片| 色欧美激情视频在线| 欧美性受xxx| 精品人人人人| 日韩久久久久久久久久久久| 久久精品国产77777蜜臀| 亚洲AV无码国产成人久久| 亚洲成a人v欧美综合天堂下载 | 日干夜干天天干| 日韩丝袜美女视频| 嫩草香蕉在线91一二三区| 国产精品色午夜在线观看| 国产精品一区二区av日韩在线| 成人免费播放器| 丁香婷婷综合五月| 欧美黄色一级网站| 91精品国产全国免费观看| 在线免费观看黄色网址| 国产精品久久久久久久午夜| 国产成人三级| 久久久久免费精品| 久久精品一区二区三区不卡牛牛| 国产精品人人人人| 日韩av在线免费观看一区| 美女扒开腿让男人桶爽久久软| 成人免费在线一区二区三区| 欧美阿v一级看视频| 深夜福利网站在线观看| 亚洲三级在线观看| 国产麻豆精品一区| 久久伊人91精品综合网站| 成人在线日韩| 日韩欧美视频免费在线观看| 国产精品亚洲视频| 国产一级理论片| 亚洲精品乱码久久久久久金桔影视| 国产不卡人人| 久久久久久久久久久久久久一区| 亚洲一区二区三区四区五区午夜| 熟妇高潮精品一区二区三区| 欧美性色xo影院| 国产女人在线观看| 国产欧美久久一区二区| 天天射—综合中文网| 91视频福利网| 亚洲一区二区影院| 天堂国产一区二区三区| 热久久免费国产视频| 不卡在线一区| 天天久久综合网| 亚洲成av人片一区二区三区| 你懂的在线免费观看| 国产精品福利无圣光在线一区| 欧美高清视频在线观看mv| 亚洲综合123| 亚洲国产另类精品专区| 日本福利片在线| 91精品久久久久久久久久久久久久| 99精品视频在线观看免费播放| 日本精品一区在线| 亚洲一区二区精品视频| 人成免费电影一二三区在线观看| 国产精品美女久久久久av超清| 久久精品国内一区二区三区水蜜桃| 一区二区三区人妻| 欧美性猛交xxxx| 亚洲免费视频一区二区三区| 999视频在线免费观看| 国产精品视频| 国产真实乱在线更新| 日韩精品视频免费在线观看| 亚洲精品tv| 九九九九免费视频| 国产精品国产三级国产aⅴ入口| www.五月婷| 国产99久久精品一区二区| 欧美区国产区| 人妻aⅴ无码一区二区三区| 欧美一区二区福利视频| 亚洲欧美韩国| 91视频 - 88av| 欧美国产日产图区| 亚洲国产精品国自产拍久久| 国产成人一区二区| 在线成人h网| 欧美爱爱免费视频| 亚洲男人7777| 伊人久久影院| 三上悠亚在线一区二区|