I wanted to give some feedback regarding table performance, and hopefully expedite performance improvements, if possible. We’re on version 8.0.12.
We are using a table that currently has a little over 1000 rows with 55 columns each (many of which aren’t visible to the user, but are used for color-coding values in the table). The table in question is powered by a query and a script transform. According to measurements, it takes at most 0.15 seconds for the query to run and 0.40 seconds for the script transform to finish. This is all well and good. However, we’re running into some performance issues that have been very off-putting for our customers.
It takes way too long to display the data–anywhere from 8 to 12 seconds for that data to actually render on the table once the query and binding finish running. During this time, the table displays an error icon with “Empty Data Source,” leading the user to believe something has gone wrong even though it’s still loading. This is a make-or-break issue for us and one of our major customers.
Once data begins to render after that long delay, the table is slow or non-responsive for another 2-5 seconds, another point of frustration.
On the Perspective app, attempting to load this table results in crashing (unless we filter it down to have less results prior to navigating to it).
The table causes frequent binding editor and page crashes in the designer, meaning I have to filter it down prior to loading it up if I want to even look at it.
I am able to replicate all of these problems by creating a new view and table and loading it up with static JSON data with the same size as noted before (~1000 rows, ~50 columns each, all columns have either blank styles or a different ‘color’ to change the color of the text as well).
All in all, we’re frustrated with our large tables right now. We’re doing some workarounds to auto-filter the data to avoid these issues, but if the filters are reset and the whole data set comes back, the problems present themselves again. We would be very appreciative for a response and a timeframe we could go back to our customers with.
Thanks for your time!