? ? ?? 最近有用戶反映報(bào)表發(fā)生內(nèi)存溢出問(wèn)題埠巨,我問(wèn)數(shù)據(jù)量有多少?回答是百萬(wàn)級(jí)衣撬。這個(gè)數(shù)量級(jí)的數(shù)據(jù)全部取出來(lái)來(lái)要占用多少內(nèi)存呢乖订?作為報(bào)表的設(shè)計(jì)者,一定要做到心中有數(shù)具练。作為B/S架構(gòu)的報(bào)表軟件乍构,最終要部署到服務(wù)器上,你用的服務(wù)器有多大的內(nèi)存扛点,你設(shè)計(jì)的報(bào)表就取多少數(shù)據(jù)哥遮。
? ? ? 針對(duì)大數(shù)據(jù)量展現(xiàn)報(bào)表的需求,皕杰報(bào)表軟件提供了行式報(bào)表(簡(jiǎn)單查詢報(bào)表)類型陵究,sql執(zhí)行時(shí)每次只取一頁(yè)的數(shù)據(jù)進(jìn)行展現(xiàn)眠饮,點(diǎn)擊下一頁(yè)再重新取一頁(yè)數(shù)據(jù),這樣就解決了內(nèi)存溢出的問(wèn)題铜邮。當(dāng)然這種報(bào)表不能進(jìn)行分組仪召、求和等運(yùn)算寨蹋,但這個(gè)完全可以在數(shù)據(jù)處理時(shí)解決,報(bào)表只起到取數(shù)并展現(xiàn)的作用扔茅。
? ? ? 而普通展現(xiàn)報(bào)表一次取出全部數(shù)據(jù)已旧,可以做分組、求和等運(yùn)算召娜,在設(shè)計(jì)時(shí)盡量通過(guò)參數(shù)控制取出數(shù)據(jù)的數(shù)量运褪,在硬件能夠承受的條件下運(yùn)行,避免發(fā)生內(nèi)存溢出玖瘸。