List View Optimization

Hello All!   I have a scenario where I use a list view on a Report page. This Report could have up to tens of thousands of records.  I'm noticing that there is some delay when accessing this page, but the delay doesn't happen in the retrieval process in the DS microflow, as I have stepped through it with a debugger and it seems to be reasonable wait time for the records it's pulling in. But there is a delay period between when the DS microflow finishes and when the page loads (or reloads when a search filter is applied).  I'm assuming the wait period has something to do with the storing all these records (they are persistent) in memory. After first retrieval of the records I attach them to a helper object so each subsequent time any search filters are applied the records can be pulled from the helper object rather than the db, not sure if this had any real impact.  I'm wondering if there is anything else I can do to minimize this load time, the other thing that is working against me here is that we have an excel export on this page, and the export would need to include all objects that fit the search criteria.  It may be that there is just a lot of data and we can't do too much about the load times, but figured I throw the question out there. Thanks!
2 answers

Hi Ben, 

Try to use batches and paging while each click on the next page button increases the offset 1 segment.

for exporting if you want to export all records that meet the search criteria you can retrieve all records without batches when you click the export button.



Hi Ben, 

You're probably waiting for the retrieved data to load in your browser state. The solution for this is to load less records on your page and use paging. But like you already mentioned, you are doing this because of an excel export that needs all records in state. 

So you might want to look at different options for exporting, like creating a custom csv based on the same datasource in a microflow or using the excel exporter module. 


Wondering what kind of function you are using now for exporting since it needs all objects on the page? 

Personally I like the String Stream module for exporting data, it's really fast but you will always export text based files like csv.