Overview
The following flow diagram shows the approach for troubleshooting the large data template.
Note:1. For solutions corresponding to different situations in the flow diagram, refer to the table in section "Usage Scenario Subdivision" in this document.
2. Data Warehouse in the flow diagram is one of the solutions. For details, search on Google. (The FineReport official document only introduces product-related content.)
Nodes in Troubleshooting
Slow Data Extraction or Slow Template Loading
Export the large data template from the built-in dataset, then preview it to exclude the time-consuming SQL data extraction step, verifying whether the template calculation and loading take a long time.
Use the same parameters as the preview when exporting, because parameters often have display values/actual values or contain certain system parameters. You are advised to create a set of text widgets on the parameter panel to obtain widget values.
1. If the process of exporting the built-in dataset is fast, confirm that it is a template design issue. Generally, the preview of such built-in data templates will also be slow. In this case, slow template calculation can be located.
Note:
2. If the process of exporting the built-in dataset is slow, but the preview is fast, confirm that it is a data extraction issue and locate it on SQL.
3. If both the process of exporting built-in datasets and the preview are slow, perform the analysis according to different circumstances. There may be problems with the template design and data extraction, or simply due to large data volume. In this case, it is best to investigate both aspects.
Usage Scenario Subdivision
If it is determined that the overall performance is slow due to data extraction, determine whether the template is primarily used for the export or the preview.
If it is determined that the template calculation is slow, consider whether real-time data is necessary.
Refer to the following table for different scenarios.
| Pain Point | Application Scenario | Solution | Note |
|---|---|---|---|
Slow data extraction - Export | Direct dataset Excel export | In scenarios where you need to export dataset data directly, the dataset is usually large and generally not used in the body. If the dataset is used, it is seldom displayed in detail. The most extreme case is that the template only needs to load the parameter panel without previewing the body, which exports the dataset on the parameter panel. | |
Body content export after the preview | Excel Streaming Export Driven by the Row-based Engine plugin | / | |
Background export | Background batch export Excel | The file will be exported to the server, suitable for the scenario where clients do not need the preview directly. | |
Export Excel through Task Schedule | Task Schedule | Suitable for daily scheduled export of daily report data, and the Excel reception via email (generally a scenario where previewing the template content is required). | |
Slow data extraction - Preview | Restrict data through parameters, configurations, etc., and the customer accepts the corresponding restrictions. | 1. Improve the performance by specifying non-empty parameters, optimizing SQL yourself, or limiting the extracted data volume from the database through the SQL statement. 2. You are advised to limit the cell amount, the execution time of the SQL statement, and the number of rows in a single dataset through the template limit. | / |
Pagination preview and large amount of data in the data source | New Calculation Engine plugin Hierarchical report implementation with SQL pagination for a single dataset Enable the execution of hierarchical reports with the row-based engine. | Each type of method has a specific applicable database scope, you cannot apply this method to unsupported databases. | |
Poor data extraction performance during low real-time report optimization | / | ||
Slow calculation - non-real-time data | Poor data extraction performance during low real-time report optimization | / | |
Check email every day and export without real-time requirements | Task Schedule | Task Schedule - Result link for real-time calculation | |
Slow calculation - real-time data | / | Large Data Template Optimization | / |