Skip to main content

I’m wondering if anyone has a technical explanation of the factors that can affect the output speed when using an output channel from an overview screen?  We (me or users) can see a wide variation in the output speed based on time of day, system load, user connection speed, user terminal load, etc.  All of which typically make sense and are mostly correlative.  However, very often I notice that the same output one time will run at hundreds or even dozens of rows per second, while at other times seem to progress at thousands of rows per second.  Sometimes the output is steady and continues until done with no pauses, other times, the output seems to hold for pauses of minutes to dozens of minutes.

I’m aware that creating Quick Reports to reduce the relative number of columns has a significant effect on reducing speed, but for all users, I should be able to give them some expectation of the threshold or limitation with number of rows that are too many.

I’ve been doing tests with anywhere from 25K to over 70K rows of data from Customer Order, Customer Order Lines, or even Transaction History just to measure the output time.  During peak system load, a 25K row output can be more than half an hour, on the weekend, somewhat shorter.  But the effect I can’t explain is running the same output the first time - assuming it is significantly slow, like half an hour or more,  can be run a second time without re-running the search and the output will occur in a few minutes.

 

What determines the initial output speed?

Why a factor of 10-50x faster on a subsequent output of the same data?

The concept is designed to work with limited number of rows hence it would create performance problems if you try huge number of rows. Hence in app10 the maximum possible row count would be 100,000 while there is a default limit of 10,000 rows. This is controlled in Tools - Options window.

 

In app9 there is no such limit but performance problems appear when the number of rows get high.

 

In an overview window the default initial fetch would be 103 rows. But if you are outputting all the rows it would need to fetch more rows and do the output. This fetch is also getting 103 rows at one time and it takes a long time if there's thousands of rows.

 

One can press CTRL + END key to fetch all the rows at once and if you output all the rows now it will take considerably lesser time. Maybe this can be a reason in your case. If users scroll down in the overview screen it will fetch more rows and possibly one may be using the CTRL + END key shortcut before outputting.

 

As you already know if you are dealing with large number of rows (more than 100,000) do not use output channels but try a different option - quick report export to excel will benefit you hear.


Thank you @Rusiru that was exactly the type of explanation for the limitations I was looking for, much appreciated.


Reply