報(bào)表性能優(yōu)化方案之巧用相鄰連續(xù)分組
Posted on 2015-09-18 10:13 FineReport——報(bào)表技術(shù)領(lǐng)跑者 閱讀(160) 評(píng)論(0) 編輯 收藏 所屬分類(lèi): Java報(bào)表使用心得1. 問(wèn)題描述
在數(shù)據(jù)顯示方式章節(jié)內(nèi)容中,我們已介紹分組的兩個(gè)不同使用場(chǎng)景:普通分組和相鄰連續(xù)分組。但其使用相鄰連續(xù)分組功能,更主要原因是能夠提高其報(bào)表的性能。
示例報(bào)表開(kāi)發(fā)工具:FineReport
2. 原理
相鄰連續(xù)分組的操作,是將數(shù)據(jù)集中連在一起的相同數(shù)據(jù)才進(jìn)行合并的。尤其是,在配合SQL中已排好序的列,對(duì)其實(shí)現(xiàn)的分組時(shí),使用此分組方式其性能比普通分組快些。如下簡(jiǎn)單示例,查看其報(bào)表執(zhí)行數(shù)據(jù)信息,可看出其分組方式比普通分組方式更能提高其報(bào)表的性能。
3. 實(shí)現(xiàn)步驟
3.1 新建報(bào)表
3.2 表樣設(shè)計(jì)
設(shè)計(jì)好報(bào)表的基本框架,如下:
3.3 新建數(shù)據(jù)集
新建數(shù)據(jù)集名為ds1,對(duì)應(yīng)的SQL語(yǔ)句:SELECT Classno,StudentNO,Name,Sex,Course,Grade FROM STSCORE order by Grade,Classno ASC
3.4 綁定數(shù)據(jù)列
如下將數(shù)據(jù)集的字段拖入對(duì)應(yīng)的單元格內(nèi):
3.5 分別設(shè)置分組
設(shè)置為普通分組情況:
將A2單元格設(shè)置為普通分組,預(yù)覽報(bào)表并查看日志,報(bào)表執(zhí)行的數(shù)據(jù)信息如下:
設(shè)置為相鄰連續(xù)分組情況:
將A2單元格設(shè)置為相鄰連續(xù)分組,同樣再預(yù)覽報(bào)表,查看日志信息,報(bào)表執(zhí)行的數(shù)據(jù)信息如下: