報表工具選型對比系列 - 多源關聯效能
報表呈現有這麼幾個階段:取數、報表計算、生成 html 及頁面渲染,報表計算是考察報表效能中較為重要的一環。多資料來源(集)關聯報表是一種計算量隨規模增長較大的報表,適合用於進行此項測試。本文將對比報表的關聯運算效能,產品依然是三款:潤乾報表、FineReport、smartbi,均使用最新版本,涉及報表資料來源為同庫同表。
測試採用多資料集間關聯計算,報表格式很簡單,具體可參考下面的說明。
用例
POS 交易情況統計,統計所有商戶(包括還未使用但已申請且開頭 pos 刷卡業務的),使用本行 pos 機刷本行卡,和他行卡刷本行 pos 的資料(另外區分儲蓄卡和信用卡),彙總值包括筆數和交易金額。
資料集 5 個:
1、 所有商戶(ds1):select * from 商戶 where c_code<=? 2、 本行儲蓄類(ds2):SELECT * FROM pos交易資料 where tran_type=1 and c_code<=? 3、 本行信用卡類(ds3):SELECT * FROM pos交易資料 where tran_type=2 and c_code<=? 4、 他行儲蓄類(ds4):SELECT * FROM pos交易資料 where tran_type=3 and c_code<=? 5、 他行信用卡類(ds5):SELECT * FROM pos交易資料 where tran_type=4 and c_code<=?1、 所有商戶(ds1):select * from 商戶 where c_code<=?2、 本行儲蓄類(ds2):SELECT * FROM pos交易資料 where tran_type=1 and c_code<=?3、 本行信用卡類(ds3):SELECT * FROM pos交易資料 where tran_type=2 and c_code<=?4、 他行儲蓄類(ds4):SELECT * FROM pos交易資料 where tran_type=3 and c_code<=?5、 他行信用卡類(ds5):SELECT * FROM pos交易資料 where tran_type=4 and c_code<=?
透過 c_code(商戶編碼)關聯。
報表模板:
注:本例是對實際業務場景簡化後進行的對比,實際情況涉及的 sql 及計算場景複雜的多,可參考:
測試結果
以下資料規模中,“*”左側資料為商戶記錄條數,右側為其他 4 個每資料集的記錄條數,如 5000,則 ds2 到 ds5 每個資料集都是 5000 條資料。“報表計算”為從完成取數到生成 html 前時間。另外,報表每頁按 100 行分頁。
從資料上可看出,潤乾稍優於帆軟,資料量越大表現越明顯,但差距不算大,都比較不錯。smartbi 相對較差,20000*20000 規模已有 4、50 倍差距。 以上結果和之前測試渲染及報表容量中報表計算階段的資料體現也是一致的。
總結
本文對比報表工具解決多源(集)關聯計算問題,也是“報表計算”階段(取數都同庫同表同走 jdbc,無區別)考察報表計算能力的情況之一,從資料可以看出潤乾效能最高,得益於計算模型的最佳化,帆軟次之,兩家都不差,有較強的實用性。smartbi 和帆軟報表的製作過程幾乎一樣,但計算效率卻差了數十倍,說明其計算模型有待改進。
相關連結
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69957599/viewspace-2728329/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 報表工具對比選型系列用例——多源分片報表
- 報表工具對比選型系列 - 容量及相關效能
- 報表工具選型對比系列 - 大報表
- 報表工具對比選型系列 - 頁面渲染效能
- 報表工具對比選型系列—多樣性資料來源支援度
- 2020主流報表工具對比選型深度測評系列——中國式複雜報表之多源分片報表
- 報表工具對比選型系列——列印與匯出
- 報表工具對比選型系列用例——過程計算
- MyBatis表關聯 一對多 多對一 多對多MyBatis
- 報表工具對比之潤乾報表與銳浪報表對比
- JPA(3) 表關聯關係(多對一、一對多、多對多、一對一)
- laravel 多對多關聯刪除中間表Laravel
- MQ選型對比文件MQ
- 從兩家主流報表工具的報jia看行業水深 - 常用報表工具對比 - 主流報表對比行業
- Laravel多對多模型關聯Laravel模型
- DcatAdmin 多對多關聯是,multipleSelect 報錯 Array to string conversion
- RabbitMQ與Kafka選型對比MQKafka
- 模型關聯一對多模型
- 如何解決報表關聯計算中的效能問題
- 三款開源關係型資料庫對比:MySQL、PostgreSQL、SQLiteXP資料庫MySqlSQLite
- JPA關係對映系列五:many-to-many 關聯表存在額外欄位關係對映
- springDataJpa聯表查詢之多對多Spring
- 動態生成表-判斷表是否存在效能對比
- spring data jpa關聯查詢(一對一、一對多、多對多)Spring
- 5種常見Bean對映工具的效能比對Bean
- Laravel 多對多關聯模型 CURD 詳解Laravel模型
- 一對多關聯表,怎麼判斷返回關聯陣列不為空的值啊?陣列
- nGrinder詳細介紹及效能工具對比
- 資料庫入門之3張表對比關係型與非關係型資料庫資料庫
- 在 CSDN 上面看到的一篇關於 Laravel 關聯表模型和多對多關係的文章Laravel模型
- 多對多關聯的時候,怎麼返回中間表的資料集合
- 完爆Facebook/GraphQL,APIJSON全方位對比解析(三)-表關聯查詢APIJSON
- 資料庫選型比對 Oracle vs sqlserver資料庫OracleSQLServer
- 統一配置中心技術選型對比
- JPA關係對映系列四:many-to-many 關聯對映
- for & range 效能對比
- 報表/BI工具選型重點注意事項和驗證技巧分享
- 開源多執行緒效能測試工具-sysbench執行緒