I have a SharePoint list with 200k records. PowerAutomate Get Items action can pull the data in less than a second yet PowerApps takes forever (10+ seconds) to display the same results in a gallery. I use appropriate filters in both cases using text or number columns, not lookup columns. Power Apps app obviously will have various filter options for the end-user so the data is reloaded every time the user interacts with those options. Each time takes a very long time, 10+ seconds.
Is there any way to speed things up in PowerApps to load the data? Collections don't change much in terms of speed.
Is there any complex rendering in your gallery? Flexible height gallery, Autoheights and so on that could be causing rendering to be slow?
To investigate, have your tried pulling the result set into a collection (without actually displaying it) and check in Performance Montior to see how long the data call is taking to return the records?
Hi @PaulD1
The rendering is not the issue. I checked in the monitor and I get about 70 repeated getMoreRows actions each taking about 400 ms.
Any idea why that could be happening?
@zYx I think getMoreRows usually triggers when you have a gallery with a delegable datasource. The gallery will initially show the first 100 records but when you scroll to the end of the gallery it will get the next 100 (I think this is the getMoreRows).
Seems very odd that getMoreRows would keep getting repeated.
I have seen strange behaviour when a Gallery is placed inside a Form. I believe this is an 'unsupported scenario' and clicking to add a gallery to a form does not work (although there is no warning, so I always assumed this was just another Studio error until I reported that galleries behave in unexpected ways when within Forms) but you can use copy/paste to add a Gallery inside a form.
I think I would try to build a fresh Power App that includes only your gallery and check how it behaves to try to isolate the issue.
Hi @PaulD1
The queries I use are delegable (allegedly).
If I only use AND operators, the loading is almost instant. As soon as I use OR operator, things go weird.
I ended up using a combination of ForAll and Collections. It seems to be working well.
User | Count |
---|---|
165 | |
90 | |
72 | |
64 | |
62 |
User | Count |
---|---|
210 | |
152 | |
96 | |
86 | |
66 |